Skip to main content

MCP server that extracts complete knowledge from any codebase — architecture, patterns, dependencies, API surface

Project description

Ferret MCP

PyPI version Downloads License: MIT Python 3.12+ Tests

An MCP server that extracts complete knowledge from any codebase — architecture, patterns, dependencies, API surface. Combines static analysis with AI-powered deep interpretation.

Works with any MCP client: Claude Code, Claude Desktop, Cursor, and more.

Give it a repo, get a senior engineer's analysis in 30 seconds for $0.02.

Quickstart

Install & run with uvx (no clone needed)

uvx ferret-mcp

Or install with pip

pip install ferret-mcp

MCP Client Setup

Claude Code

claude mcp add ferret -- uvx ferret-mcp

To enable AI-powered tools (deep, ask), set your API key:

claude mcp add ferret -e FERRET_LLM_API_KEY=sk-ant-... -- uvx ferret-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "ferret": {
      "command": "uvx",
      "args": ["ferret-mcp"],
      "env": {
        "FERRET_LLM_API_KEY": "sk-ant-..."
      }
    }
  }
}

Cursor / Windsurf / any MCP client

{
  "mcpServers": {
    "ferret": {
      "command": "uvx",
      "args": ["ferret-mcp"],
      "env": {
        "FERRET_LLM_API_KEY": "sk-ant-..."
      }
    }
  }
}

Local development

git clone https://github.com/fabdendev/ferret-mcp.git
cd ferret-mcp
cp .env.example .env   # Add your API key
uv sync
uv run ferret-mcp

Tools

Static Analysis (free, no LLM required)

Tool Description
scan Repository overview — languages, structure, entry points, config files
dependencies External packages + internal import graph with core modules
architecture Layers, architectural patterns, module breakdown
patterns Design patterns, naming conventions, testing, error handling
api_surface REST endpoints, MCP tools, CLI commands, GraphQL, gRPC, exports
full_extraction All of the above in one comprehensive report

AI-Powered (~$0.02/report with Haiku)

Tool Description
deep Comprehensive Knowledge Extraction Report — 10-section expert analysis covering architecture, data flow, strengths, risks, and learning takeaways
ask Ask any question about a repo, answered with full codebase context

All tools take a path argument — the absolute path to the repository root directory.

Configuration

AI-powered tools (deep, ask) require an LLM. Configure via environment variables:

Env Var Default Description
FERRET_LLM_PROVIDER anthropic anthropic or openai (for Ollama, vLLM, LM Studio)
FERRET_LLM_MODEL claude-haiku-4-5-20251001 Model name
FERRET_LLM_API_KEY API key (required for Anthropic; ollama for local)
FERRET_LLM_BASE_URL http://localhost:11434/v1 Base URL for OpenAI-compatible providers

Use with a local LLM (Ollama)

claude mcp add ferret \
  -e FERRET_LLM_PROVIDER=openai \
  -e FERRET_LLM_BASE_URL=http://localhost:11434/v1 \
  -e FERRET_LLM_MODEL=qwen3:8b \
  -- uvx ferret-mcp

Example Output

The deep tool produces a ~1000-line Knowledge Extraction Report covering:

  1. Executive Summary — what it is, what stage, honest assessment
  2. Architecture Deep Dive — patterns, modules, dependency direction, God Objects
  3. Technology Stack & Rationale — why each choice was made
  4. Data & Control Flow — ASCII diagrams, execution model
  5. Design Patterns & Conventions — with file references
  6. API & Interface Contracts — REST, CLI, MCP, auth model
  7. Key Files Reading Guide — ordered reading path for new contributors
  8. Strengths — what's genuinely well-designed
  9. Risks & Technical Debt — brutal, specific, with fixes
  10. Learning Takeaways — what to steal, what to avoid

Limitations

  • .gitignore parsing only reads the root-level file (nested .gitignore files are not honored)
  • Maximum 15,000 files scanned per repository
  • File content analysis limited to files under 512 KB
  • AI analysis quality depends on the LLM model used (Haiku is fast/cheap, Sonnet/Opus for deeper analysis)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ferret_mcp-0.1.0.tar.gz (88.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ferret_mcp-0.1.0-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file ferret_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: ferret_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 88.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ferret_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 975770664656119d73be782c15a4511fcea11b5214b1e50aac357e49ce3834d6
MD5 449c4270bfdbab5c75a9a6d908f047aa
BLAKE2b-256 4a0d25b6ad44ea3da390b5127258806983e8fae1282c0612f3048211abaa53bc

See more details on using hashes here.

File details

Details for the file ferret_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ferret_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ferret_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c86011a2a14066ed361d6fbb5ea54f4fd4554d8c59fa283b32b5cd29c80502e9
MD5 ac423865c4bbccd89bfd82a1d79bb21f
BLAKE2b-256 507dadf26c355276751f8b08207a6f8662ddc3aa51049b4c5f115551da06c236

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page