使用说明
MCP 服务器
自托管 模型上下文协议(MCP) 具有持久内存、OAuth身份验证和外部MCP代理的服务器。为Claude Code、Codex和其他AI编码助手部署自己的MCP服务器。
实时服务器: https://mcp.m9m.dev
特性
- GitHub OAuth -使用GitHub Device Flow进行身份验证(无需重定向URL)
- 持久内存 -由mem0驱动的跨会话内存(准确率提高26%)
- 外部MCP代理 -GitHub、Greptile、Linear、Context7工具
- 插件系统 -Hookify用于行为规则,Ralph Loop用于迭代开发
- 技能注册表 -AI助手的可重用指令集
- SSE协议 -实时MCP通信
快速开始
对于用户(连接到现有服务器)
# Authenticate with GitHub
curl -s -X POST https://mcp.m9m.dev/oauth/device | jq '.'
# Go to the URL shown, enter the code
curl -s -X POST https://mcp.m9m.dev/oauth/token \
-H "Content-Type: application/json" \
-d '{"user_code":"YOUR-CODE"}' | jq '.access_token'
增添 ~/.claude/settings.json:
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.m9m.dev/mcp/sse"],
"env": {
"MCP_HEADERS": "Authorization: Bearer YOUR_TOKEN"
}
}
}
}
面向开发人员(自助主机)
git clone https://github.com/ST0MP-EE5/mcp-server.git
cd mcp-server
npm install
cp .env.example .env # Configure your secrets
npm run dev
看 设置.md 有关详细的设置说明。
项目结构
mcp-server/
├── mcp-server.yaml # Main configuration
├── .env # Environment secrets
├── src/ # TypeScript source
│ ├── index.ts # Server entry point
│ ├── mcp-gateway.ts # MCP protocol + memory tools
│ ├── memory/ # mem0 integration
│ └── oauth/ # GitHub OAuth
├── plugins/ # Claude Code plugins
│ ├── hookify/ # Behavior rules engine
│ ├── ralph-loop/ # Iterative AI loops
│ ├── code-simplifier/ # Code simplification skill
│ └── external/ # External MCP templates
│ ├── github/
│ ├── greptile/
│ ├── linear/
│ └── context7/
├── hooks/ # Reusable hookify rules
├── configs/ # IDE configs (CLAUDE.md, AGENTS.md)
└── specs/ # Feature specifications
可用工具
轮毂工具(内置)
| 工具 | 说明 |
|---|---|
mcp__mcp-server__mcp__list_mcps |
列出所有连接的MCP |
mcp__mcp-server__mcp__list_skills |
列出可用技能 |
mcp__mcp-server__mcp__get_skill |
获取技能内容 |
mcp__mcp-server__mcp__health |
服务器健康检查 |
内存工具(mem0)
| 工具 | 说明 |
|---|---|
mcp__memory_add |
存储信息中的回忆 |
mcp__memory_search |
记忆的语义搜索 |
mcp__memory_list |
列出所有带分页的内存 |
mcp__memory_delete |
删除特定内存 |
mcp__memory_delete_all |
删除所有内存(仅限于用户) |
外部MCP
| MCP | 可用工具 |
|---|---|
| GitHub | 存储库管理、问题、PR、代码搜索 |
| 爬行兽 | 人工智能驱动的代码库搜索和理解 |
| 线性 | 项目管理、问题、周期 |
| 背景7 | 上下文管理 |
认证
GitHub OAuth(推荐)
# 1. Start device flow
curl -s -X POST https://mcp.m9m.dev/oauth/device
# 2. Go to https://github.com/login/device and enter the code
# 3. Get your token
curl -s -X POST https://mcp.m9m.dev/oauth/token \
-H "Content-Type: application/json" \
-d '{"user_code":"YOUR-CODE"}'
代币有效期为30天。内存的作用域为您的GitHub用户名。
API密钥(旧版)
生成一个密钥并将其哈希值添加到 mcp-server.yaml:
openssl rand -hex 32
echo -n "your_key" | shasum -a 256 | awk '{print "sha256:"$1}'
配置
mcp-server.yaml
version: "1.0"
name: "mcp-server"
auth:
oauth:
enabled: true
provider: "github"
client_id: "${GITHUB_CLIENT_ID}"
jwt_secret: "${JWT_SECRET}"
token_expiry: "30d"
mcps:
external:
- name: "github"
url: "https://api.githubcopilot.com/mcp/"
auth:
type: "bearer"
token: "${GITHUB_PERSONAL_ACCESS_TOKEN}"
enabled: true
- name: "greptile"
url: "https://api.greptile.com/mcp"
auth:
type: "bearer"
token: "${GREPTILE_API_KEY}"
enabled: true
- name: "linear"
url: "https://mcp.linear.app/mcp"
auth:
type: "none"
enabled: true
local:
- name: "context7"
command: "npx"
args: ["-y", "@upstash/context7-mcp"]
enabled: true
memory:
enabled: true
provider: "cloud"
cloud:
apiKey: "${MEM0_API_KEY}"
plugins:
- name: "hookify"
path: "./plugins/hookify"
enabled: true
- name: "ralph-loop"
path: "./plugins/ralph-loop"
enabled: true
skills:
- name: "code-simplifier"
file: "./plugins/code-simplifier/agents/code-simplifier.md"
tags: ["refactoring", "code-quality"]
所需的环境变量
# OAuth
GITHUB_CLIENT_ID=your_github_oauth_app_client_id
JWT_SECRET=your_jwt_secret_for_signing_tokens
# External MCPs
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token
GREPTILE_API_KEY=your_greptile_key
# Memory
MEM0_API_KEY=your_mem0_api_key
插件
挂钩
制定规则以防止不必要的行为:
- 危险命令前发出警告(
rm -rf) - 阻止硬编码的秘密
- 执行代码质量标准
看 钩子/ 对于可用的规则。
拉尔夫·卢普(Ralph Wiggum)
在迭代开发任务的连续循环中运行Claude。
API终点
| 端点 | 方法 | 身份验证 | 描述 |
|---|---|---|---|
/health |
GET | 否 | 基本健康检查 |
/mcp/health |
GET | 否 | MCP状态的详细运行状况 |
/mcp/sse |
GET | 是 | MCP客户端的SSE连接 |
/mcp/messages |
POST | 是 | MCP消息处理程序 |
/oauth/device |
POST | 否 | 启动GitHub设备流 |
/oauth/token |
POST | 否 | 令牌的交换代码 |
/api/v1/registry |
GET | 是 | 完整资源注册表 |
/api/v1/skills/:name |
获取 | 是 | 获取技能内容 |
部署
DigitalOcean应用平台(推荐)
doctl apps create --spec .do/app.yaml
看 设置.md 了解详细的部署说明。
码头工人
docker build -t mcp-server .
docker run -d -p 3000:3000 --env-file .env mcp-server
发展
npm run dev # Development with hot-reload
npm run build # Build TypeScript
npm start # Production
npm run lint # ESLint
npm test # Run tests
客户端设置
克劳德代码
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.m9m.dev/mcp/sse"],
"env": {
"MCP_HEADERS": "Authorization: Bearer YOUR_TOKEN"
}
}
}
}
OpenAI Codex
创建 codex.json 在您的项目中:
{
"mcpServers": {
"mcp-server": {
"url": "https://mcp.m9m.dev/mcp/sse",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
运行: codex --mcp-config codex.json
许可证
麻省理工学院
