Codesurface MCP Server

Indexes your codebase's public API and serves it via compact MCP tool responses.

Local serverstdioPython

What is the Codesurface MCP server?

Connect Codesurface to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Indexes your codebase's public API and serves it via compact MCP tool responses. The codesurface mcp server is what makes that connection.

What the server does

Parses source files, extracts public classes/methods/properties/fields/events, and serves them through 5 MCP tools. Works with Claude Code, Cursor, Windsurf, or any MCP-compatible AI tool.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • File — Service.cs:32 → Read("Service.cs", offset=32, limit=15)
  • file_path — scope results to a directory prefix or exact file (e.g. "src/services/" or "src/services/MergeService.ts")
  • include_tests — include test files in results (default false). Detects tests/, tests/, test/, .test., .spec., _test., test_*
  • search — Find APIs by keyword
  • get_signature — Need exact signature
  • get_class — See all members on a class
  • get_stats — Codebase overview
  • reindex — Incremental index update (mtime-based)

Installation

The server ships on PyPI as codesurface, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

Where it fits

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Codesurface's toolset — File, file_path, include_tests and 5 more — is a fair guide to whether it matches your workflow. It is maintained by Codeturion; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
FileService.cs:32 → Read("Service.cs", offset=32, limit=15)
file_pathscope results to a directory prefix or exact file (e.g. "src/services/" or "src/services/MergeService.ts")
include_testsinclude test files in results (default false). Detects __tests__/, tests/, test/, *.test.*, *.spec.*, *_test.*, test_*
searchFind APIs by keyword
get_signatureNeed exact signature
get_classSee all members on a class
get_statsCodebase overview
reindexIncremental index update (mtime-based)

How to install the Codesurface MCP server

{
  "mcpServers": {
    "codesurface": {
      "command": "uvx",
      "args": ["codesurface", "--project", "/path/to/your/src"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Example prompts to try

  • Use Codesurface to File.
  • Use Codesurface to file path.
  • Use Codesurface to include tests.

Frequently asked questions

It connects Codesurface to MCP-compatible AI assistants such as Claude and Cursor, exposing 8 tools (File, file_path, include_tests, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Codesurface directly.