FDEP MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_HOST | No | PostgreSQL database host | localhost |
| DB_NAME | No | PostgreSQL database name | code_as_data |
| DB_PORT | No | PostgreSQL database port | 5432 |
| DB_USER | No | PostgreSQL database user | postgres |
| DEV_MODE | No | Enable development mode | false |
| FDEP_PATH | Yes | Path to your FDEP output directory (required) | |
| LOG_LEVEL | No | Logging level (e.g., INFO, DEBUG, WARNING) | INFO |
| DB_PASSWORD | No | PostgreSQL database password | postgres |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_modulesC | Get list of all modules in the database |
| get_function_detailsB | Get detailed information about a specific function |
| search_functionsB | Search for functions by name pattern |
| get_most_called_functionsC | Get the most frequently called functions |
| execute_queryC | Execute a basic SQL query on the code database |
| get_module_detailsC | Get detailed information about a specific module including function counts and statistics |
| get_functions_by_moduleB | Get all functions defined in a specific module |
| search_modulesC | Search for modules by name pattern |
| get_module_dependenciesC | Analyze module dependencies and imports |
| get_function_call_graphB | Get function call hierarchy showing what functions this function calls and what calls it |
| get_function_callersB | Get all functions that call a specific function |
| get_function_calleesC | Get all functions called by a specific function |
| execute_advanced_queryC | Execute complex JSON-based queries with joins and advanced conditions |
| find_cross_module_callsC | Find function calls that cross module boundaries |
| analyze_function_complexityC | Analyze function complexity metrics including call count and signature complexity |
| get_code_statisticsC | Get comprehensive statistics about the codebase |
| list_typesC | Get types by module or pattern with support for different type categories |
| get_type_detailsC | Get detailed information about a specific type including constructors and fields |
| search_typesC | Search for types by name pattern with advanced filtering |
| get_type_dependenciesC | Analyze type dependencies and relationships |
| analyze_type_usageC | Analyze how types are used throughout the codebase |
| list_classesB | Get class definitions with filtering by module or pattern |
| get_class_detailsB | Get detailed information about a specific class including methods and instances |
| search_classesC | Search for classes by name pattern with module filtering |
| analyze_importsC | Analyze import patterns and dependencies for modules |
| get_import_graphC | Generate module import relationship graph |
| find_unused_importsC | Find potentially unused imports in modules |
| get_import_detailsC | Get detailed information about imports in a module |
| find_similar_functionsC | Find functions similar to a given function based on signature and code |
| find_code_patternsC | Find recurring code patterns across functions |
| group_similar_functionsC | Group functions by similarity to identify common patterns |
| build_type_dependency_graphC | Build a comprehensive type dependency graph showing relationships between types |
| get_nested_typesC | Get all nested type definitions for specified types |
| analyze_type_relationshipsC | Analyze deep type relationships and dependencies |
| find_element_by_locationC | Find code elements (functions, types, classes, imports) by source location |
| get_location_contextC | Get comprehensive context around a source location |
| get_function_contextC | Get complete context for a function including all used types and functions |
| generate_function_importsB | Generate all necessary import statements for a function or code element |
| execute_custom_queryC | Execute custom SQL queries on the code database with parameters |
| pattern_match_codeC | Advanced pattern matching to find code structures |
| analyze_cross_module_dependenciesC | Comprehensive analysis of cross-module dependencies and coupling |
| enhanced_function_call_graphC | Generate enhanced function call graphs with advanced options |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 42 tools
The tools cover distinct aspects of code analysis, but there is significant overlap in purpose that could cause confusion. For example, 'analyze_imports', 'get_import_details', and 'get_module_dependencies' all deal with imports, while 'analyze_type_relationships', 'analyze_type_usage', 'get_type_dependencies', and 'build_type_dependency_graph' focus on type analysis. Descriptions help differentiate them, but agents might struggle to choose the optimal tool for a given task due to these overlaps.
Most tools follow a consistent verb_noun naming pattern (e.g., 'analyze_cross_module_dependencies', 'get_function_details'), which aids readability. However, there are minor deviations such as 'enhanced_function_call_graph' (adjective-based) and 'pattern_match_code' (verb_noun order reversed), slightly disrupting the overall consistency. The naming is largely predictable but not perfectly uniform.
With 42 tools, the count is excessive for a code analysis server, making it heavy and potentially overwhelming for agents. While the domain is broad, many tools could be consolidated (e.g., multiple import-related tools) without losing functionality. This large number suggests poor scoping and may lead to inefficiency in tool selection and usage.
The tool set provides comprehensive coverage for code analysis, including dependency tracking, complexity metrics, query execution, and search capabilities across modules, functions, classes, and types. It supports CRUD-like operations for code elements (e.g., get, list, search, analyze) and handles advanced scenarios like pattern matching and graph generation, leaving no obvious gaps for the stated purpose.