RepoPilot

modelcontextprotocol / servers

Search modelcontextprotocol/servers

GitHub

Code

How modelcontextprotocol/servers is laid out, and where to start for common changes.

A
Architecture grade
score 100/100
0
Import cycles
lower is better
168
Files mapped
85 imports between them
100%
Layering
of imports point one way

From the map of which files import which, built when the code was last read in full. It shows what depends on what, not a reading order.

Module map

Shade by
Entry points and orchestratorsShared coreFoundationlib13 files · 19 commitsprepare-python-release1 file · 2 commitssmoke-servers1 file · 10 commitsvalidate-py1 file · 2 commitscoverage-py1 file · 1 commitdependabot-alerts1 file · 12 commitsdependency-refresh1 file · 6 commitsgate-lease1 file · 3 commitsinterface-diff1 file · 5 commitsnpm-publish-guard1 file · 1 commitpack-and-verify1 file · 5 commitsrelease-manifest1 file · 1 commitrelease-notes1 file · 3 commitssdk-watch1 file · 6 commitsskill-eval1 file · 3 commitsverify-action-pins1 file · 8 commitsverify-dco1 file · 2 commitsverify-dep-lockstep1 file · 2 commitsverify-install-fresh1 file · 5 commitsverify-main-source1 file · 1 commitverify-no-test-retries1 file · 8 commitsverify-skills1 file · 4 commitsverify-skills-cli1 file · 2 commitsverify-typecheck-coverage1 file · 1 commitcoverage-py.test1 file · not checkeddependabot-alerts.test1 file · not checkeddependency-refresh.test1 file · not checkedgate-lease.test1 file · not checkedinterface-diff.test1 file · not checkednpm-publish-guard.test1 file · not checkedpack-and-verify.test1 file · not checkedprepare-python-release.test1 file · not checkedrelease-manifest.test1 file · not checkedrelease-notes.test1 file · not checkedsdk-watch.test1 file · not checkedskill-eval.test1 file · not checkedsmoke-servers.test1 file · not checkedvalidate-py.test1 file · not checkedverify-action-pins.test1 file · not checkedverify-dco.test1 file · not checkedverify-dep-lockstep.test1 file · not checkedverify-format-coverage1 file · not checkedverify-install-fresh.test1 file · not checkedverify-main-source.test1 file · not checkedverify-no-test-retries.test1 file · not checkedverify-skills-cli.test1 file · not checkedverify-skills.main.test1 file · not checkedverify-typecheck-coverage.test1 file · not checked

48 modules, 46 links. A link means one module imports another; thicker lines mean more imports. Select a module to trace it: blue lines go to what it uses, orange lines come from what uses it.

lib1319019Foundation
prepare-python-release1302Foundation
smoke-servers12010Foundation
validate-py1202Foundation
coverage-py1121Orchestrator
dependabot-alerts11112Shared core
dependency-refresh1116Shared core
gate-lease1113Shared core
interface-diff1115Shared core
npm-publish-guard1101Foundation
pack-and-verify1115Shared core
release-manifest1111Shared core
release-notes1113Shared core
sdk-watch1116Shared core
skill-eval1113Shared core
verify-action-pins1118Shared core
verify-dco1102Foundation
verify-dep-lockstep1112Shared core
verify-install-fresh1115Shared core
verify-main-source1101Foundation
verify-no-test-retries1118Shared core
verify-skills1114Shared core
verify-skills-cli1112Shared core
verify-typecheck-coverage1111Shared core
coverage-py.test101–Entry or leaf
dependabot-alerts.test102–Entry or leaf
dependency-refresh.test101–Entry or leaf
gate-lease.test101–Entry or leaf
interface-diff.test101–Entry or leaf
npm-publish-guard.test101–Entry or leaf
pack-and-verify.test101–Entry or leaf
prepare-python-release.test101–Entry or leaf
release-manifest.test101–Entry or leaf
release-notes.test101–Entry or leaf
sdk-watch.test101–Entry or leaf
skill-eval.test102–Entry or leaf
smoke-servers.test101–Entry or leaf
validate-py.test101–Entry or leaf
verify-action-pins.test101–Entry or leaf
verify-dco.test101–Entry or leaf
verify-dep-lockstep.test101–Entry or leaf
verify-format-coverage101–Entry or leaf
verify-install-fresh.test101–Entry or leaf
verify-main-source.test101–Entry or leaf
verify-no-test-retries.test101–Entry or leaf
verify-skills-cli.test102–Entry or leaf
verify-skills.main.test102–Entry or leaf
verify-typecheck-coverage.test101–Entry or leaf

Where to start reading

  1. Repository root
  2. Repository root
  3. Likely public API
  4. Likely public API
  5. Likely start-up file
  6. Likely start-up file
  7. Suggested starting pointAI
  8. Suggested starting pointAI

Find files for a task

AI

Add a New Tool to an Existing Server

  • Define the tool schema with name, description, and inputSchema (JSON Schema)

Add Path Validation to Filesystem Operations

  • Review the existing path validation utility for patterns
  • Import and use validatePath or normalizePath before any filesystem access
  • Ensure the path resolves within an allowed root directory using roots-utils

Add a New Resource Type

  • Define the resource schema (name, description, mimeType) following MCP resource protocol
  • Register the resource in the server's resource_list and resource_read handlers
  • Optionally add subscription support to notify clients of resource updates

Change the public API

Trace runtime behavior

Add or update tests

Change build or automation

RepoPilot lists up to 500 files, so a file missing here may still exist.

  • Files marked “likely” are guessed from their names.
  • 1 suggested change pattern has no matching file and is left out.

Code quality and hotspots

Largest source files

  • Branch points23 per file on average
  • Code issues0 errors, 24 warnings
  • Largest file920 lines
  • Hotspot load6 high-risk files

Static checks on the 15 largest source files.

Tests, CI and tooling

  • CIGitHub Actions12 workflows
  • Tests115 test filesJest/Vitest · 1.0 test files per source file (file count, not coverage)
  • Dependency updatesNo config detected

Test folders: scripts · scripts/lib

Hotspots

Files that change often and branch heavily, highest first. Branch points count if, loop, case, catch, ternary, && and || in the file.