Skip to main content
Glama
doko89
by doko89

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

  1. Clone atau download repository ini

  2. Install dependencies:

npm install
  1. Build the server:

npm run build

Setup Context Directory

Buat struktur folder context di ~/.mycontext/:

mkdir -p ~/.mycontext

Example Structure

~/.mycontext/
ā”œā”€ā”€ project1/
│   ā”œā”€ā”€ backend/
│   │   ā”œā”€ā”€ gin.md
│   │   ā”œā”€ā”€ google-oauth.md
│   │   └── gorm.md
│   └── frontend/
│       ā”œā”€ā”€ react.md
│       └── tailwindcss.md
└── project2/
    └── fullstack/
        ā”œā”€ā”€ nextjs.md
        ā”œā”€ā”€ tailwindcss.md
        └── drizzle.md

Example Context File

~/.mycontext/project1/backend/gin.md:

# Gin Framework

## Setup
```go
r := gin.Default()
r.Use(cors.Default())

Routes

  • GET /api/health - Health check

  • POST /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

  1. Gunakan headers untuk organisasi:

    • # untuk judul utama

    • ## untuk sections

    • ### untuk sub-sections

  2. Include code snippets dengan syntax highlighting:

    ```javascript
    const example = "code here";
    ```
  3. 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 watch

Update server

Setelah edit src/index.ts, rebuild:

npm run build

Lalu restart Claude Desktop.

Troubleshooting

Tools tidak muncul di Claude

  1. Pastikan path di claude_desktop_config.json benar (absolute path)

  2. Restart Claude Desktop

  3. Check logs di Claude Desktop developer console

Permission errors

chmod -R 755 ~/.mycontext

Build errors

Pastikan Node.js version >= 18:

node --version

License

MIT

Contributing

Feel free to open issues atau submit pull requests untuk improvements!


Happy documenting! šŸ“š

Available Tools

4 tools
get_project_structureC

Get the complete directory structure of a specific project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the project

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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/)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the project
file_pathYesRelative path to the file within the project (e.g., 'backend/gin.md')

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 4 tool updates
    • First observedget_project_structure
    • First observedlist_projects
    • First observedread_context
    • First observedsearch_context

TDQS

A3.5/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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

Latest Blog Posts

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