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.09.

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 / Cursor / Windsurf / any MCP client

Add to your MCP config file (claude_desktop_config.json, .cursor/mcp.json, etc.):

{
  "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.09/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.1.tar.gz (89.5 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.1-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ferret_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 89.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ferret_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8fbeec28301c3e269ee277717ce1d5ed6dc4640b677bc1e0c4b619a7e2fec7dc
MD5 3abff101b63fc3b32dcdd17399cdac76
BLAKE2b-256 e9f8de56896218cc53da348517b932311d578b3704fc134e47b0ec2df0a10992

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferret_mcp-0.1.1.tar.gz:

Publisher: release.yml on fabdendev/ferret-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: ferret_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ferret_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e20781e4f61d2ba283cfcd5cce904bb5f1b331f07237fb5a59e6df264b8677ba
MD5 8bb5f2146903b92e671b89604c06a6a8
BLAKE2b-256 04efe326db566df8fe189a888ee6aca7877bcb4717772a4e8d4dc96779d0175f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferret_mcp-0.1.1-py3-none-any.whl:

Publisher: release.yml on fabdendev/ferret-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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