mcp-server-toolkit Server

uild plug-and-play MCP servers for code search, docs, databases, and more. Integrates with Claude Code, Cursor, and Windsurf.

Documentation

๐Ÿ”Œ 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