MyContext MCP Server
Provides tools for managing and searching personal project documentation stored as local markdown files, with support for nested directory structures and cross-project keyword search
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MyContext MCP Serversearch for all mentions of environment variables in my project documentation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MyContext MCP Server
Personal context MCP server untuk menyimpan dan mengakses dokumentasi project Anda. Mirip dengan Context7, tapi menggunakan file markdown lokal yang Anda kelola sendiri.
Features
š Nested Directory Structure - Organisir context berdasarkan project dan layer (backend/frontend/fullstack)
š Markdown-based - Tulis context dalam format markdown yang familiar
š Search Functionality - Cari keyword across semua project
š ļø 4 Tools - List, structure, read, dan search context files
š¾ Local Storage - Semua data tersimpan lokal di
~/.mycontext/
Related MCP server: MCP Docs Server
Installation
Clone atau download repository ini
Install dependencies:
npm installBuild the server:
npm run buildSetup Context Directory
Buat struktur folder context di ~/.mycontext/:
mkdir -p ~/.mycontextExample Structure
~/.mycontext/
āāā project1/
ā āāā backend/
ā ā āāā gin.md
ā ā āāā google-oauth.md
ā ā āāā gorm.md
ā āāā frontend/
ā āāā react.md
ā āāā tailwindcss.md
āāā project2/
āāā fullstack/
āāā nextjs.md
āāā tailwindcss.md
āāā drizzle.mdExample Context File
~/.mycontext/project1/backend/gin.md:
# Gin Framework
## Setup
```go
r := gin.Default()
r.Use(cors.Default())Routes
GET /api/health- Health checkPOST /api/auth/login- User login
Middleware
CORS enabled
Logger middleware active
Custom auth middleware di
/middleware/auth.go
## Configuration
### Claude Desktop
Edit `claude_desktop_config.json`:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"mycontext": {
"command": "node",
"args": ["/absolute/path/to/mycontext-mcp-server/build/index.js"]
}
}
}Ganti /absolute/path/to/ dengan path lengkap ke folder project ini.
Restart Claude Desktop
Setelah konfigurasi, restart Claude Desktop agar MCP server aktif.
Available Tools
1. list_projects
List semua project yang ada di context directory.
Input: (none)
Example Response:
{
"projects": ["project1", "project2"],
"context_directory": "/Users/username/.mycontext"
}2. get_project_structure
Lihat struktur lengkap sebuah project.
Input:
{
"project_name": "project1"
}Example Response:
{
"name": "project1",
"type": "directory",
"path": "project1",
"children": [
{
"name": "backend",
"type": "directory",
"path": "backend",
"children": [
{
"name": "gin.md",
"type": "file",
"path": "backend/gin.md"
}
]
}
]
}3. read_context
Baca isi file context tertentu.
Input:
{
"project_name": "project1",
"file_path": "backend/gin.md"
}Example Response:
# Gin Framework
## Setup
...
(isi file markdown)4. search_context
Cari keyword di semua context files.
Input:
{
"query": "oauth"
}Example Response:
{
"query": "oauth",
"total_results": 2,
"results": [
{
"project": "project1",
"matches": [
{
"file": "backend/google-oauth.md",
"line": 5,
"content": "## Google OAuth Setup"
}
]
}
]
}Usage Tips
Struktur Context yang Baik
Gunakan headers untuk organisasi:
#untuk judul utama##untuk sections###untuk sub-sections
Include code snippets dengan syntax highlighting:
```javascript const example = "code here"; ```Dokumentasikan:
Setup instructions
API endpoints
Environment variables
Common issues & solutions
Best practices
Example Use Cases
Saat coding:
"Baca context project1 backend gin.md, lalu buatkan endpoint baru untuk user registration yang follow pattern yang ada"
Saat setup:
"Cari semua context yang mention 'environment variables' untuk setup local development"
Saat debugging:
"Lihat struktur project2, kemudian baca context drizzle.md untuk cek database schema"
Development
Watch mode
npm run watchUpdate server
Setelah edit src/index.ts, rebuild:
npm run buildLalu restart Claude Desktop.
Troubleshooting
Tools tidak muncul di Claude
Pastikan path di
claude_desktop_config.jsonbenar (absolute path)Restart Claude Desktop
Check logs di Claude Desktop developer console
Permission errors
chmod -R 755 ~/.mycontextBuild errors
Pastikan Node.js version >= 18:
node --versionLicense
MIT
Contributing
Feel free to open issues atau submit pull requests untuk improvements!
Happy documenting! š
Available Tools
4 toolsget_project_structureC
Get the complete directory structure of a specific project
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | Yes | Name of the project |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves directory structure but lacks details on permissions, rate limits, output format, or whether it's a read-only operation. This is a significant gap for a tool with no structured safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the directory structure output looks like, potential errors, or behavioral constraints. For a tool with no structured context, more detail is needed to adequately guide the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with 'project_name' clearly documented. The description adds no additional parameter semantics beyond implying it's for a 'specific project', which aligns with the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('complete directory structure of a specific project'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_projects' or 'search_context', which might also involve project-related queries, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_projects' or 'search_context'. It implies usage for retrieving directory structures but offers no context on prerequisites, exclusions, or comparative scenarios, leaving the agent with minimal direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsB
List all available projects in the context directory (~/.mycontext/)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the directory location but doesn't cover critical aspects like whether this is a read-only operation (implied by 'List'), error handling, permissions required, or output format. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the key action ('List all available projects') and adds necessary context ('in the context directory (~/.mycontext/)'). There is zero waste, and every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but has clear gaps. It covers the basic purpose and location but lacks details on behavioral traits, usage guidelines, and output format. For a list tool with no structured support, it meets minimum viability but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description adds value by specifying the directory context, which isn't in the schema. Baseline for 0 parameters is 4, as it appropriately addresses the lack of inputs without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('all available projects'), specifying the location ('in the context directory (~/.mycontext/)'). It distinguishes from siblings like 'get_project_structure' (which likely shows internal structure) and 'search_context' (which filters), though not explicitly. The purpose is specific but could better differentiate from 'read_context'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'search_context' for filtered results or 'read_context' for reading specific content. The description implies usage for listing all projects without filtering, but it doesn't state exclusions or prerequisites, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_contextC
Read the content of a specific context file within a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | Yes | Name of the project | |
| file_path | Yes | Relative path to the file within the project (e.g., 'backend/gin.md') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('read') but doesn't mention potential errors (e.g., file not found, permission issues), return format (e.g., text content, metadata), or side effects (e.g., caching). This leaves significant gaps for a tool that interacts with files.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of file reading (potential errors, return formats) and the lack of annotations and output schema, the description is incomplete. It doesn't address what happens on success or failure, leaving the agent uncertain about behavioral outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters ('project_name' and 'file_path') with examples. The description adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('read') and resource ('content of a specific context file within a project'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'search_context' or 'get_project_structure', which likely have overlapping or related functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'search_context' or 'get_project_structure'. It lacks context about prerequisites (e.g., whether the project must exist) or exclusions (e.g., not for binary files).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_contextC
Search for a keyword across all context files in all projects
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the search scope ('across all context files in all projects') but doesn't describe what 'search' entails (e.g., exact match, fuzzy search, case sensitivity), what the output format looks like, or any limitations like rate limits or permissions needed. This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately conveys the core functionality without any wasted words. It's appropriately sized and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what constitutes a 'context file', how results are returned, whether there's pagination or sorting, or what happens with no matches. Given the complexity of search functionality and lack of structured data, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'query' documented as 'Search query'. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('search') and resource ('context files in all projects'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'read_context' or 'get_project_structure', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'read_context' or 'get_project_structure'. It doesn't specify whether this is for full-text search versus structured retrieval, or mention any prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
- First observed
get_project_structure - First observed
list_projects - First observed
read_context - First observed
search_context
TDQS
Each tool has a clearly distinct purpose: get_project_structure retrieves directory details for a specific project, list_projects enumerates available projects, read_context accesses file content within a project, and search_context performs keyword searches across all projects. There is no overlap in functionality, making tool selection straightforward for an agent.
All tool names follow a consistent verb_noun pattern with snake_case: get_project_structure, list_projects, read_context, and search_context. The verbs (get, list, read, search) are distinct and appropriate, and the naming style is uniform throughout the set.
With 4 tools, this server is well-scoped for managing context files and projects. The count is appropriate for the domain, providing essential operations without being too sparse or overwhelming, and each tool serves a clear, necessary function.
The tool set covers core operations for context management: listing projects, retrieving structure, reading files, and searching content. A minor gap exists in write/update operations (e.g., creating or modifying context files), but the provided tools allow agents to effectively navigate and query the context system.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI research library. Save, organise and reuse notes and webpages as clean markdown context.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Securely search and manage workspace context files for AI agents and teams.
Personal wiki and memory layer for AI assistants. Persistent, structured memory across sessions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI models to seamlessly access and query local markdown technical documentation files, providing automatic documentation context without explicit prompting.195ISC
- AlicenseNot gradedqualityDmaintenanceProvides direct access to local documentation files through simple search and overview tools, enabling LLMs to query project-specific markdown documentation without requiring vector databases or RAG pipelines.MIT
- AlicenseNot gradedqualityFmaintenanceEnables writers and researchers to manage large Markdown documents with AI-powered tools, including version history, semantic search, and context management.MIT
- AlicenseAqualityAmaintenanceExposes local markdown documentation, notes, and knowledge bases to AI tools via the Model Context Protocol without embeddings or uploading.41MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/doko89/mcp-mycontext'
If you have feedback or need assistance with the MCP directory API, please join our Discord server