Skip to main content

BriefMark logo

BriefMark

Universal MCP server for project documentation
Human reads the same docs as LLM. LLM reads and updates them via MCP tools.

PyPI License Python MCP


Install

pip install briefmark-mcp

Or with pipx (recommended for CLI tools):

pipx install briefmark-mcp

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:

  1. docs_search(query) — find relevant docs first
  2. docs_read_section(path, section) — read only what you need
  3. docs_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

Kimi Code CLI reads MCP config from the global ~/.kimi/mcp.json only — project-local .kimi-code/mcp.json is not auto-discovered.

See examples/kimi-code.md for setup instructions and multi-project configuration.

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

Metadata

Release files for briefmark-mcp 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for briefmark-mcp 1.0.1
File Size Uploaded Provenance
briefmark_mcp-1.0.1.tar.gz 41.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for briefmark-mcp 1.0.1
File Interpreter ABI Platform
briefmark_mcp-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 63.3 kB

Release files / briefmark_mcp-1.0.1.tar.gz

Download URL briefmark_mcp-1.0.1.tar.gz
Size 41.1 kB
Tags Source
SHA-256 checksum
How to use checksums
69fbe851164cad24d95d65b3da205c568533baf9f7b11099accecad76a333db7
BLAKE2b-256 checksum
How to use checksums
a2737439a1e4c8a036180212ea05656d27eca289097f66b0dca5b484578128f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / briefmark_mcp-1.0.1-py3-none-any.whl

Download URL briefmark_mcp-1.0.1-py3-none-any.whl
Size 22.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c0cec821b7289987355196a0e6d8c90b51e42fe9c216690f7a4ec4d89ef659e4
BLAKE2b-256 checksum
How to use checksums
ae67b255a0e5e1961432874e69caefe519ac4a88d6c4f93106e10a1e99941024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Security for briefmark-mcp 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page