@eos-ai/mcp-server
v1.0.1
Published
MCP server for EOS — connect your engineering intelligence to Claude Desktop, Cursor, Windsurf, and any MCP-compatible IDE.
Readme
@eos-ai/mcp-server
Connect the EOS GitHub Org Context API to Claude Desktop, Cursor, Windsurf, and any Model Context Protocol-compatible IDE — so your agent can ground its work in the connected GitHub org: who owns what, how the codebase is wired together, who to route a review to, and semantic search over the org's engineering history.
Quick start
1. Get your API key
Log in to eos.dev → Settings → API → Create key.
2. Install the server
npm install -g @eos-ai/mcp-server3. Add to your IDE config (see per-IDE instructions below)
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"eos": {
"command": "eos-mcp",
"env": {
"EOS_API_KEY": "eos_your_key_here"
}
}
}
}Restart Claude Desktop. You'll see the EOS tools available in the tool picker.
Cursor
Open Cursor Settings → MCP → Add new global MCP server, then paste:
{
"eos": {
"command": "eos-mcp",
"env": {
"EOS_API_KEY": "eos_your_key_here"
}
}
}Or edit ~/.cursor/mcp.json directly with the same object.
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"eos": {
"command": "eos-mcp",
"env": {
"EOS_API_KEY": "eos_your_key_here"
}
}
}
}Self-hosted EOS
If you run EOS on your own infrastructure, set EOS_API_URL in addition to
the API key:
{
"mcpServers": {
"eos": {
"command": "eos-mcp",
"env": {
"EOS_API_KEY": "eos_your_key_here",
"EOS_API_URL": "https://eos.your-company.com"
}
}
}
}Available tools
| Tool | Description |
|------|-------------|
| search_context | Flagship. Semantic search over the org's engineering knowledge — decisions, insights, PR history, team norms — with LLM-ready citations. |
| get_ownership | Owners/experts for a file or directory, plus a knowledge-concentration (bus-factor) signal for single-owner risk. |
| get_graph | Module/dependency graph as nodes (modules by activity) and edges (co-change coupling). |
| get_coupling | File pairs frequently changed together — hidden dependencies without an import edge. |
| get_contributors | The org's tracked contributors with recent activity; pass a handle for one contributor's throughput + expertise. |
| suggest_reviewers | Best reviewers for a specific PR, ranked by code familiarity and availability, with a reason each. |
| get_activity | What's moving now — the highest-churn files (hotspots) in the recent window, with churn intensity. |
Examples
"How does auth token refresh work in our codebase?"
→ uses search_context { query: "how does auth token refresh work" }
"Who owns src/lib/auth in acme/api?"
→ uses get_ownership { repo: "acme/api", path: "src/lib/auth" }
"Show me how the codebase is wired together"
→ uses get_graph {}
"Which files always change together?"
→ uses get_coupling { min_shared: 3 }
"Who should review PR #482 in acme/api?"
→ uses suggest_reviewers { repo: "acme/api", pr_number: 482 }
"What's the team working on / where's the code churning right now?"
→ uses get_activity { days: 30 }Development
# From repo root
npm install --workspace=packages/mcp-server
# Build
npm run build --workspace=@eos-ai/mcp-server
# Test
npm run test --workspace=@eos-ai/mcp-server
# Typecheck
npm run typecheck --workspace=@eos-ai/mcp-serverPublishing
npm run build --workspace=@eos-ai/mcp-server
cd packages/mcp-server
npm publish --access publicRequires npm credentials and @eos org access. The dist/ directory is
included in the published package; src/ and __tests__/ are not.
