Token导航 LogoToken导航TokenDH.com
FDEP MCP Server logo
开发工具未说明官方级别未说明来源级核验

FDEP MCP Server

MCP Server

FDEP MCP Server是一个提供40多种全面分析工具的企业级Haskell代码库静态代码分析服务器,支持实时代码智能和架构洞察。

工具数

43

提示词数

0

GitHub Stars

4

资源数

0
PythonClaude开发工具ClaudeCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

juspay

提供方

juspay

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

FDEP MCP服务器

静态代码分析模型上下文协议(MCP)服务器 为企业级Haskell代码库提供40多种全面的分析工具。与MCP兼容的AI工具和客户端无缝集成,提供实时代码智能和架构见解。

🔌 符合MCP协议 | 🏗️ 40+分析工具 | ⚡ 实时查询

✨ MCP服务器功能

📊 40+综合分析工具

  • 模块分析:7个模块结构和依赖关系工具
  • 功能分析:8个调用图和复杂性度量工具
  • 类型系统:6个用于类型关系和使用模式的工具
  • 阶级分析:3个类型类和实例分析工具
  • 进口分析:4个用于依赖关系可视化的工具
  • 高级查询:4个用于复杂JSON代码查询的工具
  • 模式分析:5个代码模式检测工具
  • 源位置:3个基于位置的分析工具
  • 增强分析:3个高级结构分析工具

🚀 快速开始

先决条件

  • Python 3.13+
  • UV包管理器
  • PostgreSQL数据库(必须正在运行)
  • Spider插件的FDEP输出(用于综合分析)

数据库设置

安装前,确保PostgreSQL正在运行并创建所需的数据库:

# Start PostgreSQL (if not already running)
# On macOS with Homebrew:
brew services start postgresql

# On Ubuntu/Debian:
sudo systemctl start postgresql

# Create the database
createdb code_as_data # this should match with you $DB_NAME value in .env file (DEFAULT: code_as_data)

安装

# Clone the repository
git clone https://github.com/juspay/fdep-mcp-server.git
cd fdep_mcp

# Install globally with UV (recommended)
uv tool install .

# OR install globally with pipx
# pipx install .

# OR system-wide installation
# pip install .vi 

数据库设置和数据导入

重要:在将MCP服务器与任何客户端一起使用之前,请完成此步骤。

fdep-mcp-server --setup --verbose

此命令将:

  • 初始化PostgreSQL数据库架构
  • 导入并处理您的FDEP数据(如果配置了FDEP_PATH)
  • 设置所有必要的索引和关系

备注:第一次运行需要时间,因为它处理大型FDEP数据集。

配置环境

cp .env.example .env
# Edit .env with your database settings and FDEP_PATH

🔌 MCP客户端配置

安装后,配置您首选的MCP客户端以连接到FDEP服务器:

克劳德代码

添加到您的 ~/.claude/settings.json:

{
  "mcpServers": {
    "fdepAnalyzer": {
      "command": "fdep-mcp-server",
      "args": [],
      "env": {
        "FDEP_PATH": "/path/to/your/fdep/output"
      }
    }
  }
}

备注:第一次运行服务器需要时间来导入和处理FDEP数据。

光标

添加到光标设置(Cmd/Ctrl + , → 扩展→ MCP):

{
  "mcp.servers": {
    "fdepAnalyzer": {
      "command": "fdep-mcp-server",
      "args": [],
      "env": {
        "FDEP_PATH": "/path/to/your/fdep/output",
        "LOG_LEVEL": "INFO"
      }
    }
  }
}

备注:第一次运行服务器需要时间来导入和处理FDEP数据。

VS代码

安装MCP扩展并添加 settings.json:

{
  "mcp.servers": [
    {
      "name": "fdepAnalyzer",
      "command": "fdep-mcp-server", 
      "args": [],
      "env": {
        "FDEP_PATH": "/path/to/your/fdep/output"
      }
    }
  ]
}

备注:第一次运行服务器需要时间来导入和处理FDEP数据。

克莱恩

添加到您的Cline配置:

{
  "mcpServers": {
    "fdepAnalyzer": {
      "command": "fdep-mcp-server",
      "args": [],
      "env": {
        "FDEP_PATH": "/path/to/your/fdep/output"
      }
    }
  }
}

备注:第一次运行服务器需要时间来导入和处理FDEP数据。

Continue.dev

添加到您的 .continue/config.json:

{
  "mcpServers": [
    {
      "name": "fdepAnalyzer",
      "command": "fdep-mcp-server",
      "args": [],
      "env": {
        "FDEP_PATH": "/path/to/your/fdep/output"
      }
    }
  ]
}

备注:第一次运行服务器需要时间来导入和处理FDEP数据。

通用MCP客户端

对于任何兼容MCP的客户端:

{
  "server_name": "fdepAnalyzer",
  "command": "fdep-mcp-server",
  "args": [],
  "environment": {
    "FDEP_PATH": "/path/to/your/fdep/output",
    "DB_HOST": "localhost",
    "DB_NAME": "code_as_data",
    "LOG_LEVEL": "INFO"
  }
}

备注:第一次运行服务器需要时间来导入和处理FDEP数据。

所有客户端的环境变量

# Required
FDEP_PATH=/path/to/your/fdep/output

# Database (if different from defaults)
DB_HOST=localhost
DB_PORT=5432
DB_NAME=code_as_data
DB_USER=postgres
DB_PASSWORD=postgres

# Optional
LOG_LEVEL=INFO
DEV_MODE=false

验证连接

配置客户端后,验证连接:

  1. 启动您的MCP客户端
  2. 在可用工具/服务器中查找“fdepAnalyzer”
  3. 用一个简单的查询进行测试: list_modules(limit=5)
  4. 您应该看到您的Haskell模块已列出

🛠️ MCP工具可用(共40+个)

📁 模块分析(7个工具)

工具说明
initialize_database设置数据库并导入FDEP数据
list_modules获取具有筛选功能的模块列表
get_module_details详细的模块信息和统计数据
get_functions_by_module列出模块中的所有函数
search_modules基于模式的模块搜索
get_module_dependencies模块依赖性分析
get_code_statistics全面的代码库统计

⚡ 功能分析(8个工具)

工具说明
get_function_details详细功能信息
search_functions按模式搜索功能
get_most_called_functions查找常用函数
get_function_call_graph函数调用层次结构
get_function_callers谁调用此函数
get_function_callees这调用了什么功能
analyze_function_complexity函数复杂性度量
get_function_context具有依赖关系的完整函数上下文

🏗️ 类型系统分析(6个工具)

工具说明
list_types按模块/模式和类别获取类型
get_type_details使用构造函数/字段键入信息
search_types具有过滤功能的高级类型搜索
get_type_dependencies类型依赖性分析
analyze_type_usage类型使用模式
get_nested_types获取嵌套类型定义

📚 类分析(3个工具)

工具说明
list_classes通过筛选获取类定义
get_class_details带有实例的类信息
search_classes基于模式的类搜索

📦 进口分析(4个工具)

工具说明
analyze_imports导入模式和依赖关系
get_import_graph模块导入关系图
find_unused_imports潜在的清理候选者
get_import_details全面的进口信息

🔍 高级查询(4个工具)

工具说明
execute_query基本SQL查询
execute_advanced_query基于JSON的复杂连接查询
execute_custom_query带参数的自定义SQL查询
find_cross_module_calls跨模块功能使用

🎯 模式分析(5个工具)

工具说明
find_similar_functions查找与给定函数类似的函数
find_code_patterns查找重复代码模式
group_similar_functions按相似性对函数进行分组
build_type_dependency_graph构建全面的类型依赖图
analyze_type_relationships分析深层类型关系

📍 源位置(3个工具)

工具说明
find_element_by_location按源位置查找代码元素
get_location_context获取源位置周围的上下文
generate_function_imports为函数生成导入语句

🔬 增强分析(3个工具)

工具说明
pattern_match_code代码结构的高级模式匹配
analyze_cross_module_dependencies全面依赖性分析
enhanced_function_call_graph具有高级选项的增强调用图

🔍 查询示例

基本分析

# Search for validation functions
search_functions(pattern="validation", limit=10)

# Get details about main functions  
get_function_details(function_name="main")

# Find most called functions
get_most_called_functions(limit=20)

# List modules in a specific area
list_modules(limit=50)

高级分析

# Get function call hierarchy
get_function_call_graph(function_name="processData", depth=3)

# Analyze type dependencies
get_type_dependencies(type_name="User", include_dependents=true)

# Find cross-module function calls
find_cross_module_calls(source_module="Services", target_module="Database")

# Complex JSON query
execute_advanced_query({
  "type": "function",
  "conditions": [
    {"field": "name", "operator": "like", "value": "%Handler%"}
  ],
  "limit": 50
})

架构分析

# Module dependency analysis
get_module_dependencies(module_name="Core.Services", include_dependents=true)

# Import relationship graph
get_import_graph(root_module="Main", depth=3)

# Complexity analysis
analyze_function_complexity(module_name="BusinessLogic", min_complexity=5)

# Comprehensive statistics
get_code_statistics(include_details=true)

⚙️ 配置

环境变量(.env)

# Database
DB_USER=postgres
DB_PASSWORD=postgres  
DB_HOST=localhost
DB_PORT=5432
DB_NAME=code_as_data

# FDEP Data Source
FDEP_PATH=/path/to/your/fdep/output

# Logging
LOG_LEVEL=INFO

Spider插件集成

对于使用GHC 9.2.8的Haskell项目:

  1. 添加Spider薄片输入
  2. 使用fdep和fieldInspector插件配置cabal
  3. 在构建过程中运行套接字服务器
  4. 生成FDEP输出以供分析

______________________________________________________________________

工具分发

  • 📁 模块分析:7个工具
  • 功能分析:8个工具
  • 🏗️ 类型系统:6个工具
  • 📚 阶级分析:3个工具
  • 📦 进口分析:4个工具
  • 🔍 高级查询:4个工具
  • 🎯 模式分析:5个工具
  • 📍 源位置:3个工具
  • 🔬 增强分析:3个工具

目录标签

目录标签

PythonClaude开发工具静态代码分析本地部署Haskell代码智能架构分析企业级工具

支持客户端

ClaudeCline

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

43

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP