Skip to main content

Code Analysis MCP Server

A Model Context Protocol (MCP) server that enables AI models to understand and analyze codebases through natural language conversations.

✨ Highlights

  • Natural Code Exploration: Ask high-level questions about your codebase

    "What are all the different payment providers integrated in the system?"
    
  • Deep Code Understanding: Extract insights about data models and system architecture

    "How does the user authentication flow work from frontend to database?"
    
  • Dynamic Analysis: Trace data flows and understand system relationships

    "Show me all the places where we calculate transaction fees"
    

Limitations

This tool is a simpler alternative to more sophisticated code analysis tools / copilot like Aider. While it lacks the advanced code analysis capabilities and robustness of tools like Aider, it offers a lightweight solution for codebase exploration if you already have a Claude Pro subscription. The main advantages are:

  • Cost-Effective: Using your existing Claude Pro subscription means no additional API costs, unlike tools that can get expensive when analyzing large codebases
  • Simple Setup: Quick to get started with minimal configuration
  • Basic Analysis: Good for high-level code understanding and exploration

Note that due to its simpler approach to code analysis, it may make more errors or provide less detailed insights compared to more specialized tools.

🚀 Quick Start

  1. Install the server:
git clone https://github.com/saiprashanths/code-analysis-mcp.git
cd code-analysis-mcp
  1. Install Claude Desktop App. For more instructions on setting up an MCP Server with Claude Desktop app, see docs

  2. Configure the server in Claude Desktop's configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "code-analysis": {
      "command": "uv",
      "args": [
        "--directory",
        "/PATH/TO/YOUR/REPO",
        "run",
        "code_analysis.py"
      ]
    }
  }
}
  1. Restart Claude Desktop and start analyzing your code!

  2. Ensure the tool is correctly setup

  • Clicking the tools icon should display the code-analysis tools
  • Clicking the integrations button should display the analyze_code_repository prompt

💡 Example Usage

Here's how you might use the tool to understand a complex codebase:

Start by clicking on the analyze_code_repository prompt shown below. That will guide you through the process to initialize the repo and get started.

You: How does the transaction processing work in this system?

Claude: Let me analyze the data flow for transactions. 
Looking at the codebase, I can see that transaction processing happens through several key components:

1. Raw transaction data is captured in the `TransactionEvent` model with fields for:
   - Payment status
   - Amount
   - Fee calculations
   - Processing timestamps

2. This data is then processed through the PaymentSummary model, which:
   - Validates payment provider responses
   - Calculates processing fees
   - Records transaction status

Would you like me to explain any part of this in more detail?

You: What are the key database tables involved?

Claude: The main tables in the transaction processing pipeline are:

1. transaction_events: Stores raw payment events
2. payment_summary: Processed transaction records
3. payment_providers: Provider configuration
4. merchant_accounts: Account-specific settings

Let me know if you'd like to see the schema for any of these tables!

🔧 Available Tools

initialize_repository

Initialize a code repository for analysis:

initialize_repository("/path/to/repo")
# Output: Successfully initialized code repository at: /path/to/repo

get_repo_info

Retrieve information about the initialized repository:

get_repo_info()
# Output:
# Code Repository Information:
# Path: /path/to/repo
# Exists: True
# Is Directory: True
# Found .gitignore file

get_repo_structure

Examine repository file structure:

get_repo_structure(depth=2)
# Output:
# 📁 src/
#   📁 api/
#     📄 routes.py
#     📄 models.py
#   📁 utils/
#     📄 helpers.py
#   📄 main.py

read_file

Read and analyze specific files:

read_file("src/api/models.py")
# Output:
# File: src/api/models.py
# Language: python
# Size: 2.3 KB
# 
# [File contents...]

⚙️ Technical Details

  • Default scanning depth: 3 levels
  • Maximum file size: 1MB
  • Maximum lines per file: 1000
  • Ignores paths listed in .gitignore
  • Local file system access only
  • Validates file paths to prevent directory traversal

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for iflow-mcp_saiprashanths_code-analysis-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_saiprashanths_code-analysis-mcp 0.1.0
File Size Uploaded
iflow_mcp_saiprashanths_code_analysis_mcp-0.1.0.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_saiprashanths_code-analysis-mcp 0.1.0
File Interpreter ABI Platform
iflow_mcp_saiprashanths_code_analysis_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.2 kB

Release files / iflow_mcp_saiprashanths_code_analysis_mcp-0.1.0.tar.gz

Download URL iflow_mcp_saiprashanths_code_analysis_mcp-0.1.0.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3581e69c52234af4ae567c6f11a523e8ac7ff3493c27ebd9fbd39b75da5e685d
BLAKE2b-256 checksum
How to use checksums
ad6db22b4dae858617c5b79d8b83afc1ab78d655d3210eecace08c0ea0e42b1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_saiprashanths_code_analysis_mcp-0.1.0-py3-none-any.whl

Download URL iflow_mcp_saiprashanths_code_analysis_mcp-0.1.0-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6e983a66a1fcc2a5ea59646d2b0b97a334b52571116cbe7a25b45db4851cf721
BLAKE2b-256 checksum
How to use checksums
b256c9e6ab8f514f40e8509a079155cc80d442d56b4e465ac0dcfe463e2b5bf6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page