oss-mcp
多仓库架构中心(oss-mcp)
一个可扩展的多仓库架构路由器与模型上下文协议(MCP)服务器,使用 Node.js(ESM)编写。专为跨仓库依赖发现、拓扑路由以及与 codebase-memory-mcp 的批量 AST 索引集成而设计。
⚡ 快速开始(3 分钟设置)
1. 前置条件
确保你已全局安装 Node.js(>= 18) 和 codebase-memory-mcp:
# Install codebase-memory-mcp globally
npm install -g codebase-memory-mcp@latest2. 克隆并安装依赖
git clone https://github.com/Abbilville/oss-mcp oss-mcp
cd oss-mcp
npm install3. 初始化任意多仓库工作区
将 oss-mcp 指向你的微服务目录。它将扫描仓库,生成 registry.yaml,并自动将代码批量索引到 AST 知识图谱中:
npx oss-mcp setup /path/to/your/microservices-workspaceRelated MCP server: Codebase Contextifier 9000
🚀 核心能力
多项目动态发现:从 CLI 参数、中央目录(
data/projects.yaml)、环境变量或工作区层级结构动态解析仓库清单(registry.yaml)。自动化结构与依赖扫描器:递归检查跨多种技术栈(Node.js、Express、React、Python、FastAPI、Java、Go)的目录树,检测入口点、端口以及服务间的 HTTP/事件关系。
自动化批量 AST 索引:通过单条命令编排
codebase-memory-mcp对项目清单中的所有服务进行 AST 图谱索引。结构化 MCP 接口:为 AI 代理提供标准化工具,用于查询跨服务架构、追踪端到端请求生命周期以及导航多服务边界。
📁 使用 data/ 目录
data/ 目录为托管多个不同微服务项目或系统的环境提供集中式项目管理。
data/
├── projects.yaml # Central multi-project catalog (routes project IDs to manifests)
├── registry.yaml # Default / sample repository manifest and service relationships
├── projects.yaml.example # Reference template for projects catalog
└── registry.yaml.example # Reference template for repository manifests1. 中央项目目录(data/projects.yaml)
如果你在机器上管理多个项目,请在 data/projects.yaml(或 ~/.config/oss-mcp/projects.yaml)中注册它们。这样你就可以通过 ID 定位任意项目(例如 npx oss-mcp index --project ecommerce):
# data/projects.yaml
projects:
ecommerce:
name: "E-Commerce Microservices"
description: "Frontend SPA, API Gateway, Auth Service, and Order Service"
registry_path: "./data/ecommerce_registry.yaml"
root_path: "/path/to/ecommerce/workspace"
analytics:
name: "Analytics Platform"
description: "Event streaming and reporting backend"
registry_path: "/path/to/analytics/registry.yaml"
root_path: "/path/to/analytics/workspace"2. 仓库清单(registry.yaml)
每个项目都有一个 registry.yaml,定义其各个服务、元数据、入口点、端口和关系。
# registry.yaml
repos:
- name: backend-service
owner: backend-team
local_path: ./services/backend-service
description: "REST API server handling auth, database persistence, and business logic"
tech_stack:
- Node.js
- Express
- PostgreSQL
- Redis
- JWT
entry_point: src/server.js
port: 4000
- name: web-frontend
owner: frontend-team
local_path: ./services/web-frontend
description: "Customer SPA built with React and TypeScript"
tech_stack:
- React
- TypeScript
- Axios
entry_point: src/index.tsx
port: 3000
relationships:
- source: web-frontend
target: backend-service
type: api_call
description: "Frontend makes REST API calls to backend endpoints for data and authentication."
- source: web-frontend
target: backend-service
type: depends_on
description: "Frontend depends on backend JWT session management and RBAC permissions."支持的关系类型
api_call:从源到目标的 HTTP / REST / GraphQL 调用。depends_on:架构或生命周期依赖(例如共享会话、契约依赖)。event_stream:异步消息传递(Kafka、RabbitMQ、Redis Pub/Sub、AWS EventBridge)。shared_resource:共享数据库模式、缓存实例或存储桶。submodule:Git 子模块或 monorepo 包引用。
🎯 清单解析层级
执行工具或 CLI 命令时,oss-mcp 使用 4 层回退机制确定要加载的注册表:
1. Explicit Flag / Parameter (--project "ecommerce" or --registry "/path/to/registry.yaml")
└── 2. Central Projects Catalog (data/projects.yaml or ~/.config/oss-mcp/projects.yaml)
└── 3. Environment Variable (export MCP_REGISTRY_PATH="/path/to/registry.yaml")
└── 4. Workspace Traversal (searching current directory & parent folders for registry.yaml)💻 CLI 参考
操作 | 命令 | 描述 |
接入工作区 |
| 扫描工作区,写入 |
扫描目录 |
| 扫描目录,推断入口点/端口,并输出清单。 |
批量索引 |
| 将所有清单仓库索引到 |
列出服务 |
| 显示服务、端口和依赖的摘要表。 |
列出项目 |
| 显示所有已注册项目及索引图谱状态。 |
退役 |
| 清除索引图谱并从目录中注销项目。 |
启动服务器 |
| 在 stdio 传输上启动 MCP 服务器。 |
🤖 AI 助手与 IDE 集成
oss-mcp 提供了一个架构桥接,与 codebase-memory-mcp 协同工作。
┌─────────────────────────────────────────────────────────────┐
│ AI Agent Layer │
│ (Antigravity / Claude Code / Cursor / Codex / Roo Code) │
└──────────────────────────────┬──────────────────────────────┘
│
┌───────────────┴───────────────┐
▼ ▼
┌───────────────────────────┐ ┌───────────────────────────┐
│ oss-mcp │ │ codebase-memory-mcp │
│ │ │ │
│ • Multi-repo discovery │ │ • Deep AST function index │
│ • Service topology & port │ │ • Class & symbol search │
│ • Cross-repo relationships│ │ • Call graph path tracing │
│ • Batch index management │ │ • Source code snippets │
└───────────────────────────┘ └───────────────────────────┘1. 🪐 Google Antigravity (AGY)
A. 配置 MCP 服务器
将 oss-mcp 添加到项目的 .agents/mcp_config.json 或全局的 ~/.gemini/config/mcp_config.json 中:
{
"mcpServers": {
"oss-mcp": {
"command": "node",
"args": ["/absolute/path/to/oss-mcp/src/server.js"]
}
}
}B. 安装工作区技能与规则
将
.agents/skills/目录复制或符号链接到当前项目的.agents/skills/(或全局的~/.gemini/config/skills/)。在
.agents/AGENTS.md中包含多仓库路由规则:# Multi-Repo Routing For any question spanning multiple services or repositories, use the `oss-mcp` MCP server to discover topology with `get_architecture_overview()`, then query `codebase-memory-mcp` scoped to relevant repositories.
C. Antigravity 斜杠命令与用法
直接在 Antigravity 聊天中键入这些命令:
/oss setup /path/to/microservices— 自动扫描工作区,推断技术栈和端口,生成registry.yaml,并批量索引到 AST 图谱。/oss status— 查看已注册服务、端口以及图谱节点/边计数的表格。/oss trace checkout flow from UI to backend— 使用序列图追踪端到端跨服务生命周期。/oss remove <project_id>— 安全注销项目并清除知识图谱。
2. ⚡ Claude Code (CLI) 与 Claude Desktop
A. Claude Code CLI 设置
直接使用 claude mcp add 命令添加 MCP 服务器:
# Add oss-mcp MCP server
claude mcp add oss-mcp node /absolute/path/to/oss-mcp/src/server.js或添加到项目的 .claude.json / settings.json 中:
{
"mcpServers": {
"oss-mcp": {
"command": "node",
"args": ["/absolute/path/to/oss-mcp/src/server.js"]
}
}
}B. Claude Desktop 设置
打开你的 Claude Desktop 配置文件:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
添加服务器定义:
{
"mcpServers": {
"oss-mcp": {
"command": "node",
"args": ["C:/Telkom/oss-mcp/src/server.js"]
}
}
}C. Claude 工作流指令(CLAUDE.md)
将以下指南添加到项目的 CLAUDE.md 中,以教导 Claude 如何路由多仓库查询:
## Multi-Repo Architecture Navigation
When answering questions about cross-service interactions, microservices, or APIs:
1. Call `oss-mcp` tool `get_architecture_overview()` to locate caller/callee services and port contracts.
2. Query `codebase-memory-mcp` (`search_graph`, `trace_path`, `get_code_snippet`) scoped by repository name.
3. Synthesize the end-to-end flow with a Mermaid sequence diagram.D. Claude 中的示例聊天提示
"扫描文件夹
../services并初始化多仓库注册表。""显示所有已注册的微服务,并检查它们的 AST 图谱是否已索引。"
"追踪从前端登录到后端令牌验证的 JWT 认证流程。"
3. 🎯 Cursor IDE
A. 在 Cursor 中添加 MCP 服务器
转到 Cursor 设置 $\rightarrow$ 功能 $\rightarrow$ MCP。
点击 + 添加新的 MCP 服务器。
填写:
名称:
oss-mcp类型:
command命令:
node /absolute/path/to/oss-mcp/src/server.js
点击保存并验证绿色状态点。
B. Cursor 规则(.cursorrules 或 .cursor/rules/multi-repo.mdc)
在工作区中创建规则文件:
---
description: Multi-repository architecture navigation rules
globs: *
---
You have access to the `oss-mcp` MCP server.
When the user asks about multi-service architecture or cross-repo communication:
1. Call `get_architecture_overview` to understand service topologies and ports.
2. Trace API calls and dependencies between services.
3. Provide Mermaid sequence diagrams for all cross-service workflows.C. Cursor 中的示例聊天提示
@oss-mcp 哪些服务与支付后端通信?@oss-mcp 扫描此多仓库工作区并生成 registry.yaml前端客户端如何从目录 API 获取产品?追踪路由和处理程序。
4. 🧩 Roo Code / Cline / Codex(VS Code 扩展)
A. 配置 MCP 设置
打开 cline_mcp_settings.json(或 roo_cline_mcp_settings.json):
{
"mcpServers": {
"oss-mcp": {
"command": "node",
"args": ["/absolute/path/to/oss-mcp/src/server.js"],
"disabled": false,
"autoApprove": [
"get_architecture_overview",
"get_repo_details",
"get_related_repos",
"list_projects"
]
}
}
}B. 自定义指令
在 Cline / Roo Code 设置中添加自定义指令:
When working across multiple repositories, use the `oss-mcp` MCP tools to inspect service dependencies and ports before making code modifications or answering architectural questions.🛠️ 工作区技能深入解析
.agents/skills/ 中的技能封装了完整的端到端多仓库工作流:
技能 | 主要触发条件 | 执行的工作流 |
|
| 自主主导航器:验证索引状态 $\rightarrow$ 自动扫描并批量索引缺失仓库 $\rightarrow$ 加载拓扑 $\rightarrow$ 执行作用域 AST 查询 $\rightarrow$ 合成序列图。 |
| 跨服务流程查询 | 查询路由器:查询 |
|
| 接入向导:递归扫描目录 $\rightarrow$ 检测技术栈和端口 $\rightarrow$ 写入 |
|
| 诊断:查询目录项目和索引图谱节点/边统计 $\rightarrow$ 渲染状态摘要表。 |
|
| 清理:从目录中注销项目 $\rightarrow$ 清除知识图谱数据库 $\rightarrow$ 如果请求则删除清单。 |
🔌 MCP 工具参考
工具 | 参数 | 输出 | 描述 |
|
| JSON | 返回完整的仓库清单、服务元数据和关系图。 |
|
| JSON | 返回单个仓库的详细信息,包括端口、技术栈和直接连接。 |
|
| JSON | 返回连接的依赖( |
| 无 | JSON | 列出目录项目和已索引的 |
|
| JSON | 扫描目录,推断依赖,并生成清单文件。 |
|
| JSON | 将仓库批量索引到 |
|
| JSON | 清除索引图谱并从目录中注销项目。 |
许可证
根据 MIT 许可证分发。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables semantic code search across multiple repositories using natural language queries. Provides intelligent code discovery, symbol lookups, and cross-repo dependency analysis for AI coding agents.MIT
- AlicenseNot gradedqualityDmaintenanceEnables semantic code search across multiple repositories using AST-aware chunking and relationship tracking. Supports local LLM embeddings, real-time indexing, and cross-codebase dependency analysis through vector and graph databases.3MIT
- AlicenseNot gradedqualityBmaintenanceProvides AI coding assistants with deep, semantic understanding of local codebases via AST-aware chunking, cross-repo symbol graphs, and architectural memory, enabling context-aware code search and dependency tracing.10MIT
- AlicenseAqualityCmaintenanceEnables AI agents to map cross-repository dependencies, detect breaking changes in API contracts, and assess impact across services.10MIT
Related MCP Connectors
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Abbilville/oss-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server