模型上下文协议服务器套件

一组为GitHub Copilot及其他AI编程助手动态提供不同上下文(如自定义指令、技能、提示、ADR、持久化存储和知识图谱)的服务器套件。

  • by Arkestone
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 Arkestone/mcp

使用说明

Arkestone MCP服务器

一套 模型上下文协议 (MCP)服务器 GitHub Copilot 以及其他AI编码助手。每个服务器动态地提供来自本地目录和GitHub存储库的不同类型的上下文——自定义指令、技能、提示、ADR、持久内存或知识图。

与 Go MCP SDK。浏览 MCP注册表 MCP服务器的完整生态系统。

目录

可用服务器

服务器 描述 端口
mcp指令 提供Copilot自定义指令文件(.github/copilot-instructions.md, .github/instructions/**)来自本地目录和GitHub存储库 :8080
mcp技能 提供副驾驶技能(skills/*/SKILL.md)使用frontmatter元数据和参考包 :8081
mcp提示 提供VS代码副本提示文件(.github/prompts/*.prompt.md)聊天模式文件 :8082
mcp-adr 从以下位置提供架构决策记录 docs/adr/, docs/decisions/,或 doc/adr/ :8083
mcp存储器 持久内存存储——跨会话记住、回忆和忘记信息 :8084
mcp图 知识图——存储实体和关系、查询邻居和最短路径 :8085

每台服务器都有自己的 自述文件 和 更新日志.

安装

去安装

最快的安装方式。需要 转到1.24+.

# Install the latest version
go install github.com/Arkestone/mcp/servers/mcp-instructions/cmd/mcp-instructions@latest
go install github.com/Arkestone/mcp/servers/mcp-skills/cmd/mcp-skills@latest
go install github.com/Arkestone/mcp/servers/mcp-prompts/cmd/mcp-prompts@latest
go install github.com/Arkestone/mcp/servers/mcp-adr/cmd/mcp-adr@latest
go install github.com/Arkestone/mcp/servers/mcp-memory/cmd/mcp-memory@latest
go install github.com/Arkestone/mcp/servers/mcp-graph/cmd/mcp-graph@latest

# Install a pinned version
go install github.com/Arkestone/mcp/servers/mcp-instructions/cmd/mcp-instructions@v0.0.1

码头工人

每次发布后,预构建的映像都会发布到GitHub容器注册表中:

# Pull the latest version
docker pull ghcr.io/arkestone/mcp-instructions:latest
docker pull ghcr.io/arkestone/mcp-skills:latest
docker pull ghcr.io/arkestone/mcp-prompts:latest
docker pull ghcr.io/arkestone/mcp-adr:latest
docker pull ghcr.io/arkestone/mcp-memory:latest
docker pull ghcr.io/arkestone/mcp-graph:latest

# Pull a specific version
docker pull ghcr.io/arkestone/mcp-instructions:v0.0.1

预构建二进制文件

从以下网址下载适用于Linux、macOS和Windows的预构建二进制文件 GitHub发布:

# Example: Linux amd64
curl -L https://github.com/Arkestone/mcp/releases/latest/download/mcp-instructions_linux_amd64.tar.gz | tar xz
mv mcp-instructions /usr/local/bin/

从源代码构建

git clone https://github.com/Arkestone/mcp.git
cd mcp
make build    # → ./bin/mcp-instructions, ./bin/mcp-skills, ...

快速开始

# stdio — used by VS Code, Claude Desktop, Cursor, etc.
mcp-instructions -dirs /path/to/repo

# HTTP — for shared team deployments
mcp-instructions -transport http -addr :8080 -repos github/awesome-copilot

# With LLM optimization
mcp-instructions -transport http -llm.enabled -llm.endpoint https://api.openai.com/v1

有关完整的配置参考,请参阅每台服务器的README。

传输机制

运输 何时使用
标准 本地客户端(VS Code、Claude Desktop、Cursor等)——客户端生成服务器进程
可流式传输的HTTP 远程/共享部署——服务器独立运行,客户端通过HTTP连接

所有服务器默认为stdio。通过 -transport http 切换到HTTP。

在VS代码中快速安装

单击可将任何服务器直接安装到VS Code或VS Code Insiders中。 标准 需要在本地安装二进制文件(go install); 超文本传输协议 连接到正在运行的本地服务器; 码头工人 在容器中运行服务器(无需本地安装)。文件扫描服务器使用 ${workspaceFolder} --先打开一个文件夹。

服务器 传输 VS代码 VS代码内部人员
mcp-instructions 站立
HTTP
Docker
mcp-skills 站立
HTTP
Docker
mcp-prompts 站立
HTTP
Docker
mcp-adr 站立
HTTP
Docker
mcp-memory 站立
HTTP
Docker
mcp-graph 站立
HTTP
Docker

MCP客户端配置

VS Code

快速安装:使用徽章 在VS代码中快速安装 上面,或打开命令面板(Ctrl+Shift+P / Cmd+Shift+P)然后跑 MCP: Open User Configuration 将服务器添加到全局 mcp.json。请参阅 VS代码MCP文档 了解全部细节。

.vscode/mcp.json (项目级)

{
  "servers": {
    "instructions": { "command": "mcp-instructions", "args": ["-dirs", "${workspaceFolder}"] },
    "skills":       { "command": "mcp-skills",       "args": ["-dirs", "${workspaceFolder}"] },
    "prompts":      { "command": "mcp-prompts",      "args": ["-dirs", "${workspaceFolder}"] },
    "adrs":         { "command": "mcp-adr",          "args": ["-dirs", "${workspaceFolder}"] },
    "memory":       { "command": "mcp-memory" },
    "graph":        { "command": "mcp-graph" }
  }
}

全局用户设置(settings.json)

{
  "github.copilot.chat.mcp.servers": {
    "instructions": {
      "command": "mcp-instructions",
      "args": ["-dirs", "/path/to/repo"]
    }
  }
}

克劳德桌面版

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "instructions": {
      "command": "mcp-instructions",
      "args": ["-dirs", "/path/to/repo"]
    },
    "skills": {
      "command": "mcp-skills",
      "args": ["-dirs", "/path/to/repo"]
    },
    "memory": {
      "command": "mcp-memory",
      "env": { "MEMORY_DIR": "~/.local/share/mcp-memory" }
    },
    "graph": {
      "command": "mcp-graph"
    }
  }
}

光标

.cursor/mcp.json (项目级)

{
  "mcpServers": {
    "instructions": {
      "command": "mcp-instructions",
      "args": ["-dirs", "."]
    },
    "skills": {
      "command": "mcp-skills",
      "args": ["-dirs", "."]
    },
    "prompts": {
      "command": "mcp-prompts",
      "args": ["-dirs", "."]
    },
    "memory": {
      "command": "mcp-memory"
    }
  }
}

全球(~/.cursor/mcp.json)

{
  "mcpServers": {
    "memory": {
      "command": "mcp-memory",
      "env": { "MEMORY_DIR": "~/.local/share/mcp-memory" }
    }
  }
}

帆板运动

macOS/Linux: ~/.codeium/windsurf/mcp_config.json 视窗: %USERPROFILE%\.codeium\windsurf\mcp_config.json

{
  "mcpServers": {
    "instructions": {
      "command": "mcp-instructions",
      "args": ["-dirs", "/path/to/repo"]
    },
    "memory": {
      "command": "mcp-memory",
      "env": { "MEMORY_DIR": "~/.local/share/mcp-memory" }
    }
  }
}

克劳德代码

~/.mcp.json (全球)或 .mcp.json (项目级)

{
  "mcpServers": {
    "instructions": {
      "command": "mcp-instructions",
      "args": ["-dirs", "."]
    },
    "skills": {
      "command": "mcp-skills",
      "args": ["-dirs", "."]
    },
    "memory": {
      "command": "mcp-memory"
    },
    "graph": {
      "command": "mcp-graph"
    }
  }
}

捷脑

在JetBrains IDE(IntelliJ IDEA、GoLand、PyCharm等)中,请访问 设置→ 工具→ AI助手→ 模型上下文协议(MCP):

{
  "mcpServers": {
    "instructions": {
      "command": "mcp-instructions",
      "args": ["-dirs", "$PROJECT_DIR$"]
    },
    "memory": {
      "command": "mcp-memory"
    }
  }
}

泽德

添加 ~/.config/zed/settings.json:

{
  "context_servers": {
    "mcp-instructions": {
      "command": {
        "path": "mcp-instructions",
        "args": ["-dirs", "/path/to/repo"]
      }
    },
    "mcp-memory": {
      "command": {
        "path": "mcp-memory",
        "args": []
      }
    }
  }
}

Docker Compose——所有服务器

services:
  mcp-instructions:
    image: ghcr.io/arkestone/mcp-instructions:latest
    ports: ["8080:8080"]
    environment:
      INSTRUCTIONS_TRANSPORT: http
      INSTRUCTIONS_DIRS: /data
    volumes: ["./instructions:/data:ro"]

  mcp-skills:
    image: ghcr.io/arkestone/mcp-skills:latest
    ports: ["8081:8081"]
    environment:
      SKILLS_TRANSPORT: http
      SKILLS_DIRS: /data
    volumes: ["./skills:/data:ro"]

  mcp-prompts:
    image: ghcr.io/arkestone/mcp-prompts:latest
    ports: ["8082:8082"]
    environment:
      PROMPTS_TRANSPORT: http
      PROMPTS_SOURCES_DIRS: /data
    volumes: ["./prompts:/data:ro"]

  mcp-adr:
    image: ghcr.io/arkestone/mcp-adr:latest
    ports: ["8083:8083"]
    environment:
      ADR_TRANSPORT: http
      ADR_DIRS: /data
    volumes: ["./docs:/data:ro"]

  mcp-memory:
    image: ghcr.io/arkestone/mcp-memory:latest
    ports: ["8084:8084"]
    environment:
      MEMORY_TRANSPORT: http
      MEMORY_DIR: /data
    volumes: ["memory-data:/data"]

  mcp-graph:
    image: ghcr.io/arkestone/mcp-graph:latest
    ports: ["8085:8085"]
    environment:
      GRAPH_TRANSPORT: http
      GRAPH_DATA_FILE: /data/graph.json
    volumes: ["graph-data:/data"]

volumes:
  memory-data:
  graph-data:

然后通过HTTP连接您的客户端:

{
  "mcpServers": {
    "instructions": {
      "type": "http",
      "url": "http://localhost:8080/mcp"
    }
  }
}

LLM优化

所有内容服务器(指令、技能、提示、ADR)都可以选择使用OpenAI兼容的LLM端点整合多个源。这可以消除重复并逻辑地组织来自多个存储库的内容。

mcp-instructions \
  -dirs . \
  -llm.enabled \
  -llm.endpoint https://api.openai.com/v1 \
  -llm.api-key $LLM_API_KEY \
  -llm.model gpt-4o-mini

支持的提供商:OpenAI、Azure OpenAI、Ollama、LM Studio以及任何与OpenAI兼容的端点。

看 config.llm.example.yaml 以获得完整的配置示例。

GitHub身份验证(可选)

GitHub令牌是 可选的。公共存储库无需身份验证即可工作。对于私有存储库,请提供一个令牌(最高优先级优先):

方法 示例
CLI标志 -github-token ghp_xxx
前缀为env var INSTRUCTIONS_GITHUB_TOKEN=ghp_xxx
全局环境变量 GITHUB_TOKEN=ghp_xxx
YAML配置 github_token: ghp_xxx

网络和代理

所有服务器都在本地、私有/公共云中、通过直接互联网或通过HTTP/HTTPS代理工作。请参阅 网络和代理指南 用于防火墙规则、代理配置和自定义CA证书。

建筑

.
├── servers/
│   ├── mcp-instructions/   # custom instructions server  (:8080)
│   ├── mcp-skills/         # skills server               (:8081)
│   ├── mcp-prompts/        # prompt files server         (:8082)
│   ├── mcp-adr/            # ADR server                  (:8083)
│   ├── mcp-memory/         # persistent memory server    (:8084)
│   └── mcp-graph/          # knowledge graph server      (:8085)
├── pkg/
│   ├── config/             # shared configuration loading (YAML → env → flags)
│   ├── github/             # GitHub Contents API client
│   ├── httputil/           # proxy, TLS, header propagation
│   ├── optimizer/          # shared LLM optimization layer (OpenAI-compatible)
│   ├── server/             # MCP server bootstrap helpers
│   └── syncer/             # background repo sync
├── docs/
│   └── network.md          # network / proxy / firewall guide
├── examples/               # client configuration examples
└── AGENTS.md               # AI coding assistant guide

每个内容服务器都遵循相同的分层设计:

  1. 配置 --YAML→ 环境变量→ CLI标志(每一层覆盖前一层)
  2. 装载机/扫描仪 --从本地目录和GitHub存储库中发现内容
  3. 优化器 --通过以下方式进行可选的基于LLM的整合 pkg/optimizer
  4. MCP服务器 --通过stdio或流式HTTP将内容作为资源、提示和工具公开

共享包

包装 描述
pkg/config 统一配置加载:YAML→ 环境变量→ CLI标志
pkg/github GitHub内容API客户端,通过代理和头传递
pkg/httputil 代理支持、自定义TLS/CA证书、标头传播
pkg/optimizer OpenAI兼容的LLM客户端,用于可选的内容整合
pkg/server MCP服务器引导和 /healthz 端点助手
pkg/syncer 远程GitHub存储库的后台定期同步

发展

make build              # build all servers into ./bin/
make test               # run unit tests
make test-integration   # run integration tests (requires LLM_ENDPOINT)
make docker             # build Docker images for all servers
make lint               # run golangci-lint
make cover              # generate coverage report

贡献

欢迎投稿!请参阅 贡献.md 作为指导方针。

许可证

该项目根据MIT许可证获得许可——请参阅 许可证 文件以获取详细信息。