mcp-server-toolkit

Bangun server MCP plug-and-play untuk pencarian kode, dokumen, database, dan lainnya. Terintegrasi dengan Claude Code, Cursor, dan Windsurf.

Dokumentasi

πŸ”Œ MCP Server Toolkit

Build plug-and-play MCP servers for any dev workflow β€” code search, docs, databases, and more.

npm version MCP License: MIT TypeScript Works with Claude Code Works with Cursor Works with Windsurf PRs Welcome Stars

Give any AI coding agent a direct line into your codebase, docs, or database β€” in under 60 seconds.

Quick Start Β· Servers Β· Build Your Own Β· Discord Β· Changelog


Demo: Claude Code querying a codebase via MCP Server Toolkit


Why this exists

When you ask Claude Code "where do we handle Stripe webhooks?" it has two bad options:

  • Option A β€” Read every file in the repo. Slow, expensive, blows the context window on any real codebase.
  • Option B β€” Guess based on the first few files it sees. Wrong half the time.

MCP Server Toolkit gives agents a third option: ask the right tool directly. Semantic code search, live database queries, doc lookups, API introspection β€” all surfaced through the Model Context Protocol standard, so any MCP-compatible client can use them without any changes to your existing code.


✨ Features

  • πŸ” Semantic code search β€” Find the right function, file, or pattern across your entire repo in milliseconds. Powered by vector embeddings, no Elasticsearch required.
  • πŸ“š Docs server β€” Give your agent instant access to any documentation site, local Markdown files, or Notion workspace.
  • πŸ—„οΈ Database server β€” Natural language β†’ SQL for PostgreSQL, MySQL, and SQLite. Read-only by default, writable with an explicit flag.
  • 🌐 API introspection server β€” Load any OpenAPI/Swagger spec and let your agent browse and call endpoints with type safety.
  • ⚑ One-command setup β€” Every server ships as a standalone CLI. npx and pip install paths included.
  • πŸ”’ Zero-config secrets β€” Reads from your existing .env file or environment variables. Nothing new to learn.
  • 🧩 Works everywhere β€” Claude Code, Cursor, Windsurf, Cline, VS Code Copilot, Codex CLI, Gemini CLI, and every other MCP-compatible client.
  • πŸ› οΈ Extensible β€” The createServer() helper reduces a new tool to ~15 lines of TypeScript. Scaffold a custom server in 30 seconds.

πŸš€ Quick Start

Requirements: Node.js 18+ or Python 3.10+

Option A β€” npx (no install)

npx mcp-server-toolkit@latest init

This runs the interactive setup wizard. Pick your servers, paste your credentials, and get a ready-to-paste config block for Claude Code / Cursor.


Option B β€” npm global install

npm install -g mcp-server-toolkit
mcp init

Option C β€” pip (Python environments)

pip install mcp-server-toolkit
mcp init

Add to Claude Code

After mcp init, copy the generated block into your .claude/mcp.json:

{
  "servers": {
    "code-search": {
      "command": "mcp-code-search",
      "args": ["--root", "."],
      "env": { "OPENAI_API_KEY": "${OPENAI_API_KEY}" }
    },
    "database": {
      "command": "mcp-database",
      "args": ["--read-only"],
      "env": { "DATABASE_URL": "${DATABASE_URL}" }
    },
    "docs": {
      "command": "mcp-docs",
      "args": ["--source", "./docs"]
    }
  }
}

That's it. Restart Claude Code and your agent now has full access to all three.


πŸ“¦ Included Servers

ServerInstallWhat it does
mcp-code-searchnpx mcp-code-searchSemantic + keyword search across your codebase
mcp-databasenpx mcp-databaseNatural language queries for Postgres, MySQL, SQLite
mcp-docsnpx mcp-docsIndex and query local Markdown, Notion, or any URL
mcp-openapinpx mcp-openapiBrowse and call endpoints from any OpenAPI spec
mcp-gitnpx mcp-gitQuery commits, diffs, blame, and branches
mcp-shellnpx mcp-shellSandboxed shell execution with allowlist controls

All servers are independently installable β€” use one or all of them.


πŸ› οΈ Usage Example

Once installed, your AI agent can use natural language to interact with your entire dev environment:

You:  "Find all places where we validate user input before inserting into the DB"

Agent uses mcp-code-search β†’
  Found 7 matches in: auth/validators.ts, api/users.ts, api/orders.ts...

You:  "How many users signed up in the last 7 days?"

Agent uses mcp-database β†’
  SELECT count(*) FROM users WHERE created_at > now() - interval '7 days';
  β†’ 1,432 new users

You:  "What does our docs say about rate limiting?"

Agent uses mcp-docs β†’
  Found in docs/api/rate-limits.md: "All endpoints are limited to 100 req/min per API key..."

No copy-pasting. No context switching. The agent just knows.


πŸ”§ Build Your Own Server

Scaffold a new server in 30 seconds:

mcp new my-server --template typescript

This generates:

my-server/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts        # Entry point β€” register your tools here
β”‚   └── tools/
β”‚       └── example.ts  # Your first tool
β”œβ”€β”€ package.json
└── README.md

A minimal tool looks like this:

import { createServer, tool, z } from 'mcp-server-toolkit';

const server = createServer({ name: 'my-server', version: '1.0.0' });

server.addTool(
  tool({
    name: 'get_weather',
    description: 'Get current weather for a city',
    input: z.object({ city: z.string() }),
    run: async ({ city }) => {
      const data = await fetchWeather(city);
      return { content: `${city}: ${data.temp}Β°C, ${data.condition}` };
    },
  })
);

server.start();

That's the whole thing. Ship it.


πŸ“ Project Structure

mcp-server-toolkit/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ core/           # createServer(), tool(), z helpers
β”‚   β”œβ”€β”€ code-search/    # Semantic codebase search server
β”‚   β”œβ”€β”€ database/       # Natural language DB query server
β”‚   β”œβ”€β”€ docs/           # Documentation indexing server
β”‚   β”œβ”€β”€ openapi/        # OpenAPI spec introspection server
β”‚   β”œβ”€β”€ git/            # Git history and diff server
β”‚   └── shell/          # Sandboxed shell server
β”œβ”€β”€ examples/
β”‚   β”œβ”€β”€ claude-code/    # Drop-in config for Claude Code
β”‚   β”œβ”€β”€ cursor/         # Drop-in config for Cursor
β”‚   └── custom-server/  # Starter template for custom tools
β”œβ”€β”€ docs/               # Full documentation
└── CONTRIBUTING.md

πŸ—ΊοΈ Roadmap

  • Code search (semantic + keyword)
  • PostgreSQL / MySQL / SQLite server
  • Docs server (Markdown + URL crawl)
  • OpenAPI introspection server
  • Notion server
  • Linear / Jira server
  • Supabase + PlanetScale managed DB support
  • Web UI for browsing registered tools
  • Auto-generated tool descriptions from schema

Want something on this list prioritised? Open an issue and add a πŸ‘.


🀝 Contributing

Contributions are what make this project worth starring. Here's how to get involved:

First time?

  1. Look for issues labelled good first issue β€” these are scoped small on purpose.
  2. Comment on the issue to claim it before starting.
  3. Fork the repo, make your changes, open a PR.

Adding a new server

The fastest path to a merged PR:

# Clone and install deps
git clone https://github.com/naveenayalla1-CS50/mcp-server-toolkit
cd mcp-server-toolkit
npm install

# Scaffold your server
npm run new-server -- --name my-awesome-server

# Run tests
npm test

# Submit your PR

Each new server needs:

  • A README.md explaining what it does and the one-line install command
  • At least one test in __tests__/
  • An example config block for Claude Code / Cursor

Guidelines

  • Keep each tool focused on doing one thing well β€” resist scope creep.
  • Never store credentials in code β€” always read from env vars.
  • Add your server to the table in the main README and to the packages/ list.

Code of Conduct

Be excellent to each other. See CODE_OF_CONDUCT.md.


πŸ” Security

  • All servers are read-only by default. Write access requires an explicit --writable flag.
  • Credentials are read from environment variables only β€” never hardcoded or logged.
  • The shell server uses an allowlist (mcp-shell.config.json) β€” no arbitrary command execution.
  • Found a vulnerability? Please email [email protected] instead of opening a public issue.

πŸ“„ License

MIT Β© 2026 naveenayalla1-CS50

You're free to use this in personal projects, commercial products, and anything in between. Attribution appreciated but not required.


Share on Twitter Β· Open an issue

Built with ❀️ for the agent era.

MCP server usage

This repository contains a TypeScript/Node.js toolkit of MCP servers.

Install

npm install
npm run build
npm run build --workspace=@mcp-toolkit/core
npm run build --workspace=@mcp-toolkit/code-search
node packages/code-search/dist/index.js



## MCP server usage

This repository contains a TypeScript/Node.js toolkit of MCP servers.

### Install

```bash
npm install
npm run build