README.mdā¢5.03 kB
# 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
1. Clone atau download repository ini
2. Install dependencies:
```bash
npm install
```
3. Build the server:
```bash
npm run build
```
## Setup Context Directory
Buat struktur folder context di `~/.mycontext/`:
```bash
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`:
```markdown
# 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:**
```json
{
"projects": ["project1", "project2"],
"context_directory": "/Users/username/.mycontext"
}
```
### 2. `get_project_structure`
Lihat struktur lengkap sebuah project.
**Input:**
```json
{
"project_name": "project1"
}
```
**Example Response:**
```json
{
"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:**
```json
{
"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:**
```json
{
"query": "oauth"
}
```
**Example Response:**
```json
{
"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:
````markdown
```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
```bash
npm run watch
```
### Update server
Setelah edit `src/index.ts`, rebuild:
```bash
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
```bash
chmod -R 755 ~/.mycontext
```
### Build errors
Pastikan Node.js version >= 18:
```bash
node --version
```
## License
MIT
## Contributing
Feel free to open issues atau submit pull requests untuk improvements!
---
**Happy documenting! š**