Universal MCP server for project documentation with smart classification
Project description
BriefMark
Universal MCP server for project documentation
Human reads the same docs as LLM. LLM reads and updates them via MCP tools.
Install
pip install git+ssh://git@github.com/VladYankovenko/BriefMark.git
Or clone and install in development mode:
git clone https://github.com/VladYankovenko/BriefMark.git
cd BriefMark
pip install -e ".[dev]"
Quick Start
# Go to your project
cd ~/projects/my-app
# Initialize documentation structure
briefmark init
# Start the MCP server
briefmark serve
Features
- Single Source of Truth — one
Docs/folder for humans and AI - Bidirectional — LLM can read AND write documentation via MCP tools
- Universal — works with any MCP-compatible agent (Cursor, Claude, Cline, Kimi)
- Lightweight — no external DB, no ML models, everything in project files
- Auto-Discovery — scans structure without config
- Frontmatter-native — documents declare their own metadata
- Section-level precision — read, edit, or delete one section without touching the rest
- Token-first — every tool returns
estimated_tokens; agent sees operation cost - Contextual search — search results include excerpts around the match + document outline
Project Structure
my-project/
├── .briefmark/
│ ├── config.json # BriefMark config
│ └── .index.json # Auto-generated search index (gitignored)
├── Docs/ # Documentation root (user-managed structure)
└── .cursor/mcp.json # Agent MCP config
Setup & Efficiency
BriefMark works out of the box, but project rules make it truly efficient.
Recommended workflow for your agent:
docs_search(query)— find relevant docs firstdocs_read_section(path, section)— read only what you needdocs_update_section(path, section, content)— precise edits without full rewrites
Anti-pattern: docs_read + docs_write to change 1–2 sections — wastes tokens and risks collateral damage.
For detailed integration steps (Cursor, Claude, Kimi) and project rules templates, see Docs/Integration.md.
Document Format
Every document MUST have YAML frontmatter:
---
id: network-service
title: Network Service Pattern
category: pattern
summary: One-sentence description of what this document covers.
keywords: [network, api, alamofire]
---
# Network Service Pattern
## Motivation
...
## Implementation
...
Required fields: id, title, category, summary
Recommended: keywords (3–7 terms for search)
MCP Tools
Reading
| Tool | Description |
|---|---|
docs_read |
Read full document content |
docs_outline |
Get heading structure (table of contents) |
docs_read_section |
Read a single section only |
docs_list |
List all documents with metadata |
docs_search |
Search docs by keyword |
Writing
| Tool | Description |
|---|---|
docs_write |
Create or overwrite a document |
docs_update_frontmatter |
Add or update frontmatter on existing file |
docs_append |
Append a section to the end |
docs_update_section |
Replace one section's body |
docs_insert_section |
Insert a new section after an existing one |
docs_delete_section |
Remove a section |
Skills & Templates
| Tool | Description |
|---|---|
skill_list |
List all available skills |
skill_execute |
Execute a skill with parameters |
template_list |
List available code templates |
template_render |
Render a template with variables |
Agent Setup
Cursor
Copy to your project's .cursor/mcp.json:
{
"mcpServers": {
"briefmark": {
"command": "bash",
"args": ["-lc", "briefmark serve"],
"cwd": "${workspaceFolder}"
}
}
}
bash -lc ensures your shell PATH (conda, venv, pipx) is loaded — this works identically on any machine.
Claude Code
claude mcp add briefmark briefmark serve
Kimi Code / Open WebUI
CLI Commands
| Command | Description |
|---|---|
briefmark serve |
Start MCP server |
briefmark init |
Create Docs/ structure |
briefmark index --rebuild |
Rebuild search index |
briefmark search <query> |
Search documentation |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file briefmark_mcp-1.0.0.tar.gz.
File metadata
- Download URL: briefmark_mcp-1.0.0.tar.gz
- Upload date:
- Size: 34.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2af01731593a17c743b29572eb9d330c6d2db8a4066d2ba4e10fb33a30e6b60
|
|
| MD5 |
ad3fd6fa3169cb431fede2a30d540a52
|
|
| BLAKE2b-256 |
2b5830d07f50dc5fac411a555c1dd1d6bbc2e8971af51ebfc9ff89ae03c855c5
|
File details
Details for the file briefmark_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: briefmark_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e15d384d5b223e02ba2b3c8eef4651a8ed2477103458bdb5f6d984c867f6818
|
|
| MD5 |
a5f8648eb4fb149f6ebd2c7e2d13a2ff
|
|
| BLAKE2b-256 |
42f5b4c9d09b06eda5404affdade0b21b8df18c5c738c48d54023508e56e01d3
|