Skip to content

Repository files navigation

Code Fundi

The Codebase Map for AI Agents, Teams and Applications.

Code Fundi



Code-Fundi MCP Server

A production-grade Model Context Protocol (MCP) server for the Code-Fundi API: a codebase map and blast-radius engine for AI coding agents. Enables any MCP-compatible AI assistant (Claude, Claude Code, Cursor, Windsurf, VS Code Copilot, and more) to search, research, index, and scan code repositories through natural language, and see what a change breaks before it ships.

Built with FastMCP (TypeScript) and Zod for schema validation.

Getting started for AI agents

If you are an AI agent (or configuring one) and no CODEFUNDI_API_KEY is set, you must self-authenticate before using search, repos, chat, or other authenticated tools. The auth tools (code-fundi-auth-*) work without a pre-existing key.

Which path to use

Situation Action
CODEFUNDI_API_KEY is set in MCP config Use any tool immediately — the server sends it as X-API-Key on every request
No API key configured Run the OTP self-auth flow below (recommended) or password sign-in

Zero-config MCP setup (no API key)

You can start the MCP server without CODEFUNDI_API_KEY and authenticate at runtime:

{
  "mcpServers": {
    "code-fundi": {
      "command": "npx",
      "args": ["-y", "@codefundi/code-fundi-mcp"]
    }
  }
}

Self-authenticate with OTP (recommended)

Code-Fundi uses Supabase-backed auth (POST /v2/auth/authenticate, /v2/auth/verify, /v2/auth/resend). OTP emails contain a 6-digit code — magic links are not supported on this path.

  1. Ask the human user for their email address.
  2. Call code-fundi-auth-authenticate with:
    • auth_mode: "otp"
    • email: the user's email
    • should_create_user: true for a new account, false for a returning user
  3. Tell the user to check their inbox for a 6-digit code. The API may return verification_required: true and api_key.key_state: "agent_pending" until verification completes.
  4. Ask the user for the 6-digit OTP (human-in-the-loop — you cannot guess or bypass this step).
  5. Call code-fundi-auth-verify with the same email and the token (6 digits).
  6. On success, the MCP server automatically configures the API key in memory for all subsequent tool calls in this session.

If the code expired or was not received, call code-fundi-auth-resend with the same email, then repeat step 5.

Example dialogue:

Agent: What email should I use to sign in to Code-Fundi?
User:  dev@example.com
Agent: [calls code-fundi-auth-authenticate] I've sent a 6-digit code to dev@example.com. Please paste it here.
User:  482913
Agent: [calls code-fundi-auth-verify] You're signed in. I can now search and index your repositories.

Password sign-in (alternative)

For existing accounts with a password, call code-fundi-auth-authenticate with auth_mode: "password", the user's email, should_create_user: false, and the password parameter. The MCP client sends the password only in the X-CodeFundi-Auth-Password header (never in the JSON body). Production requires HTTPS. Returning users may receive an active API key immediately without a separate verify step.

After authentication

  • The API key is held in memory for the lifetime of the MCP server process. It is not persisted across IDE or MCP restarts.
  • Recommend the user add the key to their MCP config as CODEFUNDI_API_KEY so future sessions start authenticated.
  • A FREE-tier account and API key are created automatically on first signup.

Errors

HTTP status What to do
401 Unauthorized No valid key — run the OTP flow above, or set CODEFUNDI_API_KEY
429 Too many requests Auth endpoints are rate-limited per IP; wait for Retry-After seconds, then retry

Features

Every tool below is backed by the same codebase map: structural dependencies, call graph, and blast radius, indexed once and queried in milliseconds.

  • 🔍 Semantic & grep code search across your indexed codebase map
  • 🧠 AI-powered research: search plus AI analysis in a single call
  • 📦 Repository management: index, status, README, listing, public catalog
  • 🛰️ Repository intelligence: cross-repo dependency map, blueprint, Blast-Radius Guard (impact analysis before you merge)
  • 📄 File documentation: AI-generated docs for any indexed file
  • 📊 Usage statistics: query usage, activity, language breakdowns
  • 🔐 Agent-driven authentication: sign up/sign in via OTP without pre-configured keys
  • 💬 AI chat & model insight: direct conversation with Code-Fundi AI, model catalog, and per-tier limits

Quick Start

Install from npm (recommended)

Install the package (includes a pre-built dist/). The code-fundi-mcp binary is on your PATH when installed globally, or available via npx without cloning the repo:

npm install -g @codefundi/code-fundi-mcp

Or add it to a project:

npm install @codefundi/code-fundi-mcp

Install from source (this repository)

git clone https://github.com/Code-Fundi/code-fundi-mcp.git
cd code-fundi-mcp
npm install
npm run build

Configure

Option A — API key (fastest): set your key as an environment variable:

export CODEFUNDI_API_KEY=your_api_key_here

Option B — no API key: skip the env var and let the agent self-authenticate at runtime. See Getting started for AI agents.

Zero-config MCP example (no env block):

{
  "mcpServers": {
    "code-fundi": {
      "command": "npx",
      "args": ["-y", "@codefundi/code-fundi-mcp"]
    }
  }
}

Use with Claude Desktop

After a global install (npm i -g @codefundi/code-fundi-mcp), point MCP at the published binary (no path to dist/index.js required):

{
  "mcpServers": {
    "code-fundi": {
      "command": "@codefundi/code-fundi-mcp",
      "env": {
        "CODEFUNDI_API_KEY": "your_api_key_here"
      }
    }
  }
}

If the binary is not on your PATH, use npx (downloads or uses the local package and runs the same entrypoint):

{
  "mcpServers": {
    "code-fundi": {
      "command": "npx",
      "args": ["-y", "@codefundi/code-fundi-mcp"],
      "env": {
        "CODEFUNDI_API_KEY": "your_api_key_here"
      }
    }
  }
}

Use with Cursor

Same pattern as Claude: command plus optional args only, no manual path to the repo:

{
  "mcpServers": {
    "code-fundi": {
      "command": "npx",
      "args": ["-y", "@codefundi/code-fundi-mcp"],
      "env": {
        "CODEFUNDI_API_KEY": "your_api_key_here"
      }
    }
  }
}

When developing inside this repo, you can run npm run dev or npx tsx src/index.ts without building first.

Development Mode

npm run dev                          # Run with tsx (no build needed)
npx fastmcp inspect src/index.ts    # Open MCP Inspector UI
npx fastmcp dev src/index.ts        # Test with MCP CLI

Tools Reference (27 tools)

Covers the Code-Fundi V2 API for codebase mapping and blast-radius analysis: search (including search-with-chat / research), repositories (list, index, status, readme, public catalog), repository intelligence (map, blueprint, radius), files, history, statistics, API keys, authentication, plus Fundi chat (POST /v1/fundi/chat) and the V2 model catalog / limits (GET /v2/models, GET /v2/models/limits).

Search

Tool Description
code-fundi-search Semantic and grep search across your indexed codebase map, with filters
code-fundi-research Search plus AI-synthesized analysis of matching code

Repositories

Tool Description
code-fundi-list-repos List indexed repositories with pagination
code-fundi-index-repo Index a new GitHub repository into your codebase map
code-fundi-repo-status Check repository indexing status
code-fundi-repo-readme Get repository README documentation (deprecated, prefer blueprint)
code-fundi-list-public-repos Browse the global catalog of indexed public repositories (no key needed)

Repository Intelligence

Tool Description
code-fundi-repo-map Cross-repository dependency map: how services and packages actually connect
code-fundi-repo-blueprint README plus dependency and convention overview (successor to repo-readme)
code-fundi-repo-radius Blast-Radius Guard: every file and function that breaks before you merge (PRO+)

Files

Tool Description
code-fundi-list-files List files in a repository
code-fundi-file-docs Get AI-generated file documentation

History

Tool Description
code-fundi-list-history List query history with filters
code-fundi-history-item Get full details of a history entry
code-fundi-conversation Get conversation thread messages

Statistics

Tool Description
code-fundi-usage-stats Query-type usage breakdown
code-fundi-activity-stats Daily activity statistics
code-fundi-language-stats Programming language usage

Authentication

Tool Description
code-fundi-auth-authenticate Start OTP/password auth flow (no key needed)
code-fundi-auth-verify Verify OTP code and obtain API key
code-fundi-auth-resend Resend OTP verification email
code-fundi-list-api-keys List API keys (masked)
code-fundi-regenerate-api-key Regenerate API key
code-fundi-disable-api-key Disable an API key by ID (DELETE /v2/keys/{key_id})

Chat & Models

Tool Description
code-fundi-chat Fundi AI chat (POST /v1/fundi/chat; streamed responses are collected to text)
code-fundi-list-models List the curated chat model catalog (GET /v2/models)
code-fundi-model-limits Get AI model limits and tier configuration (GET /v2/models/limits)

Authentication

Two modes: pre-configured API key (CODEFUNDI_API_KEY in MCP config) or agent-driven OTP/password auth at runtime. Full step-by-step instructions, tool names, and error handling are in Getting started for AI agents at the top of this README.

Environment Variables

Variable Required Default Description
CODEFUNDI_API_KEY No* API key for authentication
CODEFUNDI_BASE_URL No https://api.codefundi.app API base URL override

* Required unless using agent-driven auth tools.

License

MIT

About

Code Fundi MCP tool

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages