Skip to content

boxpositron/with-context-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

128 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WithContext MCP Server

npm version License: MIT

Let your AI coding agents write directly to your note-taking apps. WithContext provides project-scoped note management for AI agents working with Obsidian, enabling them to create documentation, track changes, and organize knowledge as they code.

Why WithContext?

Your AI coding agent needs a place to store documentation, meeting notes, and project updates. WithContext gives them direct access to your Obsidian vault with:

  • Automatic Project Scoping - Each project gets its own folder, no cross-contamination
  • Smart Editing - Agents can update frontmatter, replace sections, prepend/append content
  • Session Tracking - Track what changes the agent makes with changelogs and todos
  • Intelligent Organization - Built-in presets for keeping vaults clean
  • Template System - Professional templates for consistent documentation

You set it up once. Your AI agent handles the rest.

Quick Setup

1. Install Obsidian REST API Plugin

  1. Open Obsidian Settings → Community Plugins → Browse
  2. Search for "Local REST API" and install
  3. Enable the plugin and copy your API key

2. Install WithContext

npm install -g with-context-mcp

3. Configure Your AI Client

Add this to your AI client's MCP configuration:

OpenCode (opencode.jsonc):

{
  "mcp": {
    "with-context": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "with-context-mcp"],
      "environment": {
        "OBSIDIAN_API_KEY": "{env:OBSIDIAN_API_KEY}",
        "OBSIDIAN_API_URL": "{env:OBSIDIAN_API_URL}",
        "OBSIDIAN_VAULT": "{env:OBSIDIAN_VAULT}",
        "PROJECT_BASE_PATH": "{env:PROJECT_BASE_PATH}",
      },
      "enabled": true,
    },
  },
}

Other Clients: Claude Desktop, Cline, Cursor, Windsurf, Continue.dev, GitHub Copilot →

4. Set Environment Variables

export OBSIDIAN_API_KEY="your_api_key_here"
export OBSIDIAN_API_URL="https://127.0.0.1:27124"
export OBSIDIAN_VAULT="MyVault"
export PROJECT_BASE_PATH="Projects"

That's it! Your AI agent now has access to 33+ tools for managing notes in MyVault/Projects/.

What Your Agent Can Do

Once configured, your AI coding agent can:

  • Create and update documentation as it writes code
  • Track changes with automatic changelogs and todos
  • Organize the vault using intelligent presets
  • Edit YAML frontmatter to add tags and metadata
  • Search and update existing notes by content or filename
  • Generate notes from templates for consistent formatting
  • Replace specific sections in markdown files by heading

You don't need to learn the tools. Your AI agent will use them automatically when it needs to document something, track a change, or organize notes.

Example Workflow

When your AI agent works on a feature, it might:

  1. Start a session: start_session({ project_folder: 'my-app' })
  2. Create API docs: write_note({ path: 'docs/api.md', content: '...' })
  3. Track changes: add_changelog_entry({ type: 'feature', message: 'Add user API' })
  4. Add a todo: add_todo({ content: 'Write integration tests' })
  5. Update metadata: update_frontmatter({ path: 'docs/api.md', frontmatter: { status: 'draft' } })

Your vault automatically stays organized in:

MyVault/Projects/my-app/
├── docs/api.md
└── CHANGELOG.md

Documentation

Setup: Installation & SetupConfiguration

Reference: All ToolsCommon WorkflowsSessionsVault Organization

What's New in v3.0.6

  • Prepend Mode - Add content to the beginning of notes
  • update_frontmatter - Edit YAML frontmatter with merge/replace modes
  • Fuzzy Finding - Quick file search with match highlighting
  • replace_section - Edit specific markdown sections by heading

Full changelog →

Available Tools

Your AI agent has access to 33 tools across 6 categories:

Category Tools
Core write, read, list, search, delete, batch_write, get_metadata
Editing update_frontmatter, replace_section
Sessions start, pause, resume, end, status, changelog, todos, commit_suggestion
Organization analyze_structure, generate_plan, reorganize
Config setup, validate, preview, ingest, teleport, sync
Templates list_templates, create_from_template

Detailed tool documentation →

Troubleshooting

Connection Issues? Ensure Obsidian is running, Local REST API plugin is enabled, and OBSIDIAN_API_URL matches the plugin port (default: 27124)

Authentication Failed? Verify OBSIDIAN_API_KEY from plugin settings and check for extra spaces

Path Errors? Use relative paths only (no ../ or absolute paths) - all paths are relative to your project folder

More help →

Security

  • Project Scoping - Operations restricted to configured project folders
  • Path Validation - Prevents directory traversal attacks
  • HTTPS - Secure connection to Obsidian Local REST API
  • API Key Authentication - Required for all operations

Contributing

Contributions welcome! Fork the repository, create a feature branch, add tests, and submit a pull request.

Contributing guidelines →

Links

npm: with-context-mcpGitHub: boxpositron/with-context-mcpIssues: Report bugs or request features


Made for AI coding agents and the humans who work with them