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/
Installation
- Clone atau download repository ini
- Install dependencies:
npm install
- 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 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 watch
Update server
Setelah edit src/index.ts, rebuild:
npm run build
Lalu 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 ~/.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! 📚