项目文档管理服务器

MyContext MCP Server 是一个本地化的项目文档管理工具,支持Markdown格式的文档存储、组织和搜索功能,适用于开发者的项目文档管理。

  • by doko89
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 doko89/mcp-mycontext

使用说明

MyContext MCP 服务器

个人上下文MCP服务器,用于存储和访问您的项目文档。类似于Context7,但使用您自己管理的本地Markdown文件。

特点/特性

  • 📁 代表文件夹的符号。 嵌套目录结构 - 根据项目和层级(后端/前端/全栈)组织上下文
  • 📝 基于Markdown的 - 用熟悉的Markdown格式写出上下文
  • 🔍 看起来像是一个放大镜的符号,常用于表示搜索、查看细节或调查的意思。在中文中,可以简单地翻译为“🔍 放大镜”或根据上下文意译为“🔍 搜索/查看/调查”。 搜索功能 - 在所有项目中搜索关键词
  • 🛠️(扳手,常用于表示工具或修理) 4个工具 - 列出、结构化、读取和搜索上下文文件
  • 💾 代表“软盘驱动器”或“存储设备”,也可简单翻译为“存储”。 本地存储 - 所有数据都本地存储在 ~/.mycontext/

安装

  1. 克隆或下载这个仓库
  2. 安装依赖项:
npm install
  1. 构建服务器:
npm run build

设置上下文目录

创建上下文文件夹结构 ~/.mycontext/:

mkdir -p ~/.mycontext

示例结构

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

示例上下文文件

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

# Gin Framework

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

路线

  • GET /api/health - 健康检查
  • POST /api/auth/login - 用户登录

中间件

  • 已启用CORS
  • 日志记录中间件已激活
  • 自定义认证中间件 /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"]
    }
  }
}

更换 /absolute/path/to/ 带有指向此项目文件夹的完整路径。

重启Claude桌面版

配置完成后,请重启Claude Desktop以激活MCP服务器。

可用工具

1. list_projects

列出上下文目录中的所有项目。

输入: (无)

示例回复:

{
  "projects": ["project1", "project2"],
  "context_directory": "/Users/username/.mycontext"
}

2. get_project_structure

查看一个项目的完整结构。

输入:

{
  "project_name": "project1"
}

示例回复:

{
  "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

读取特定上下文文件的内容。

输入:

{
  "project_name": "project1",
  "file_path": "backend/gin.md"
}

示例回复:

# Gin Framework

## Setup
...
(isi file markdown)

4. search_context

在所有上下文文件中查找关键字。

输入:

{
  "query": "oauth"
}

示例回复:

{
  "query": "oauth",
  "total_results": 2,
  "results": [
    {
      "project": "project1",
      "matches": [
        {
          "file": "backend/google-oauth.md",
          "line": 5,
          "content": "## Google OAuth Setup"
        }
      ]
    }
  ]
}

使用技巧

良好的上下文结构

  1. 使用标题 对于组织:

    • # 作为主标题
    • ## 对于各个部分
    • ### 用于子部分
  2. 包含代码片段 带有语法高亮:

    ```javascript
    const example = "code here";
    ```
    
  3. 记录下来:

    • 安装说明
    • API终端点
    • 环境变量
    • 常见问题及解决方案
    • 最佳实践

示例用例

在编码时:

“阅读项目1的后端Gin框架上下文文件,然后按照现有模式创建一个新的用户注册端点”

设置时间:

“查找所有提及‘环境变量’以设置本地开发环境的上下文”

在调试时:

“查看 project2 的结构,然后阅读 drizzle.md 文件以检查数据库架构。”

发展

手表模式

npm run watch

更新服务器

编辑之后 src/index.ts,重建:

npm run build

然后重启Claude桌面版。

故障排除

工具未在Claude中显示

  1. 确保路径在 claude_desktop_config.json 绝对路径
  2. 重启Claude桌面版
  3. 检查Claude Desktop开发者控制台的日志

权限错误

chmod -R 755 ~/.mycontext

构建错误

确保 Node.js 版本 >= 18:

node --version

许可证

麻省理工学院(MIT)

做出贡献

欢迎随时提出问题或提交拉取请求以进行改进!


记录愉快! 📚