A local MCP (Model Context Protocol) server that gives AI agents access to developer tooling — GitHub (read-only), documentation search, and web research — via stdio transport.
Built with Bun, TypeScript, the MCP SDK, and Zod.
| Tool | Description |
|---|---|
github.repo_search |
Search repositories by query |
github.repo_read |
Get repository details |
github.file_read |
Read a file from a repository |
github.issues_list |
List issues with state/label filters |
github.issue_get |
Get a single issue |
github.prs_list |
List pull requests |
github.pr_diff |
Get the diff of a pull request |
github.commit_search |
Search commits by message or author |
| Tool | Description |
|---|---|
context7.docs_search |
Search library documentation |
context7.docs_get |
Get specific documentation page |
context7.examples_get |
Get code examples |
context7.api_lookup |
Look up API symbol documentation |
| Tool | Description |
|---|---|
exa.web_search |
Search the web |
exa.web_fetch |
Fetch and convert a URL to markdown/text |
exa.code_search |
Search code across GitHub |
exa.research_brief |
Generate a research brief by synthesizing top results |
Total: 16 tools
- Bun 1.3+ (runtime)
- A GitHub Personal Access Token with
repo(read-only) andpublic_reposcopes
# Install dependencies
bun install
# Create your environment file
cp .env.example .env
# Edit .env and set GITHUB_TOKEN
# Run typecheck
bun run typecheck
# Start the server
bun startThe server listens on stdio, ready to receive MCP JSON-RPC messages.
All configuration is via environment variables:
| Variable | Required | Default | Description |
|---|---|---|---|
GITHUB_TOKEN |
Yes | — | GitHub PAT (read-only access) |
CONTEXT7_API_KEY |
No | — | Context7 API key |
EXA_API_KEY |
No | — | Exa API key |
SENTRY_DSN |
No | — | Sentry DSN for error reporting |
SENTRY_ENVIRONMENT |
No | development |
Sentry environment tag |
LOG_LEVEL |
No | info |
Log level (debug, info, warn, error) |
NODE_ENV |
No | development |
Runtime environment |
src/
├── config/ # Environment validation (Zod schema)
├── core/ # MCP server, tool registry, transport
├── observability/ # Logger, Sentry integration
├── schemas/ # Zod schemas for all tool inputs
├── security/ # Input validation wrapper
├── tools/
│ ├── context7/ # Documentation search tools
│ ├── exa/ # Web search & research tools
│ └── github/ # GitHub API tools
└── utils/ # Error hierarchy (McpError)
bun run typecheck # Type-check all files
bun start # Start the server (stdio)The project uses Husky for pre-commit hooks and Turbo for task orchestration. A typecheck hook runs automatically before each commit.
MIT — see LICENSE.