by CodeLogicIncEngineering
An MCP Server to utilize Codelogic's rich software dependency data in your AI programming assistant.
The codelogic-mcp-server is an MCP (Model Context Protocol) server designed to integrate Codelogic's software dependency data with AI programming assistants. It provides tools that allow AI assistants to query and analyze code and database impacts within a software project.
To use codelogic-mcp-server, you need to configure it within your IDE or AI assistant. This typically involves creating a configuration file (e.g., .vscode/mcp.json
, ~/Library/Application Support/Claude/claude_desktop_config.json
, ~/.codeium/windsurf/mcp_config.json
) and specifying the command to run the server, along with necessary environment variables such as CODELOGIC_SERVER_HOST
, CODELOGIC_USERNAME
, CODELOGIC_PASSWORD
, and CODELOGIC_WORKSPACE_NAME
.
For VS Code with GitHub Copilot, you would create a .vscode/mcp.json
file with the server configuration and potentially a .vscode/copilot-instructions.md
file to guide the AI assistant on how to use the tools. Similar configuration steps are provided for Claude Desktop, Windsurf IDE, and Cursor.
A workaround for MacOS users experiencing issues with uvx
is also provided, which involves modifying the mcp.json
to use uv
instead of uvx
.
codelogic-method-impact
: Assesses the impact of changes to a specific method within a class.codelogic-database-impact
: Analyzes the impact of changes to database entities (columns, tables, views)..vscode/mcp.json
file with the server configuration and ensure GitHub Copilot agent mode is enabled. You can also use the MCP: Add Server
command.mcp.json
to use uv
instead of uvx
.CODELOGIC_DEBUG_MODE
environment variable to true
. Debug files will be written to the system temporary directory.python -m unittest discover -s test -p "unit_*.py"
. Integration tests require a CodeLogic server instance and can be run after configuring test/.env.test
.An MCP Server to utilize Codelogic's rich software dependency data in your AI programming assistant.
The server implements two tools:
The MCP server relies upon Astral UV to run, please install
There is a known issue with uvx
on MacOS where the CodeLogic MCP server may fail to launch in certain IDEs (such as Cursor), resulting in errors like:
See issue #11
Failed to connect client closed
This appears to be a problem with Astral uvx
running on MacOS. The following can be used as a workaround:
mcp.json
to use uv
instead of uvx
. For example:{
"mcpServers": {
"codelogic-mcp-server": {
"type": "stdio",
"command": "<PATH_TO_UV>/uv",
"args": [
"--directory",
"<PATH_TO_THIS_REPO>/codelogic-mcp-server-main",
"run",
"codelogic-mcp-server"
],
"env": {
"CODELOGIC_SERVER_HOST": "<url to the server e.g. https://myco.app.codelogic.com>",
"CODELOGIC_USERNAME": "<my username>",
"CODELOGIC_PASSWORD": "<my password>",
"CODELOGIC_MV_NAME": "<my workspace>",
"CODELOGIC_DEBUG_MODE": "true"
}
}
}
}
codelogic-mcp-server
.To configure this MCP server in VS Code:
First, ensure you have GitHub Copilot agent mode enabled in VS Code.
Create a .vscode/mcp.json
file in your workspace with the following configuration:
{
"servers": {
"codelogic-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"codelogic-mcp-server@latest"
],
"env": {
"CODELOGIC_SERVER_HOST": "<url to the server e.g. https://myco.app.codelogic.com>",
"CODELOGIC_USERNAME": "<my username>",
"CODELOGIC_PASSWORD": "<my password>",
"CODELOGIC_WORKSPACE_NAME": "<my workspace>",
"CODELOGIC_DEBUG_MODE": "true"
}
}
}
}
Note: On some systems, you may need to use the full path to the uvx executable instead of just "uvx". For example:
/home/user/.local/bin/uvx
on Linux/Mac orC:\Users\username\AppData\Local\astral\uvx.exe
on Windows.
Alternatively, you can run the MCP: Add Server
command from the Command Palette and provide the server information.
To manage your MCP servers, use the MCP: List Servers
command from the Command Palette.
Once configured, the server's tools will be available to Copilot agent mode. You can toggle specific tools on/off as needed by clicking the Tools button in the Chat view when in agent mode.
To use the Codelogic tools in agent mode, you can specifically ask about code impacts or database relationships, and the agent will utilize the appropriate tools.
Configure Claude Desktop by editing the configuration file:
~/Library/Application\ Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
Add the following to your configuration file:
"mcpServers": {
"codelogic-mcp-server": {
"command": "uvx",
"args": [
"codelogic-mcp-server@latest"
],
"env": {
"CODELOGIC_SERVER_HOST": "<url to the server e.g. https://myco.app.codelogic.com>",
"CODELOGIC_USERNAME": "<my username>",
"CODELOGIC_PASSWORD": "<my password>",
"CODELOGIC_WORKSPACE_NAME": "<my workspace>"
}
}
}
Note: On some systems, you may need to use the full path to the uvx executable instead of just "uvx". For example:
/home/user/.local/bin/uvx
on Linux/Mac orC:\Users\username\AppData\Local\astral\uvx.exe
on Windows.
After adding the configuration, restart Claude Desktop to apply the changes.
To run this MCP server with Windsurf IDE:
Configure Windsurf IDE:
To configure Windsurf IDE, you need to create or modify the ~/.codeium/windsurf/mcp_config.json
configuration file.
Add the following configuration to your file:
"mcpServers": {
"codelogic-mcp-server": {
"command": "uvx",
"args": [
"codelogic-mcp-server@latest"
],
"env": {
"CODELOGIC_SERVER_HOST": "<url to the server e.g. https://myco.app.codelogic.com>",
"CODELOGIC_USERNAME": "<my username>",
"CODELOGIC_PASSWORD": "<my password>",
"CODELOGIC_WORKSPACE_NAME": "<my workspace>"
}
}
}
Note: On some systems, you may need to use the full path to the uvx executable instead of just "uvx". For example:
/home/user/.local/bin/uvx
on Linux/Mac orC:\Users\username\AppData\Local\astral\uvx.exe
on Windows.
After adding the configuration, restart Windsurf IDE or refresh the tools to apply the changes.
To configure the CodeLogic MCP server in Cursor:
.cursor/mcp.json
file:{
"mcpServers": {
"codelogic-mcp-server": {
"command": "uvx",
"args": [
"codelogic-mcp-server@latest"
],
"env": {
"CODELOGIC_SERVER_HOST": "<url to the server e.g. https://myco.app.codelogic.com>",
"CODELOGIC_USERNAME": "<my username>",
"CODELOGIC_PASSWORD": "<my password>",
"CODELOGIC_WORKSPACE_NAME": "<my workspace>",
"CODELOGIC_DEBUG_MODE": "true"
}
}
}
}
Note: On some systems, you may need to use the full path to the uvx executable instead of just "uvx". For example:
/home/user/.local/bin/uvx
on Linux/Mac orC:\Users\username\AppData\Local\astral\uvx.exe
on Windows.
The CodeLogic MCP server tools will now be available in your Cursor workspace.
To help the AI assistant use the CodeLogic tools effectively, you can add the following instructions/rules to your client's configuration. We recommend customizing these instructions to align with your team's specific coding standards, best practices, and workflow requirements:
Create a .vscode/copilot-instructions.md
file with the following content:
# CodeLogic MCP Server Instructions
When modifying existing code methods:
- Use codelogic-method-impact to analyze code changes
- Use codelogic-database-impact for database modifications
- Highlight impact results for the modified methods
When modifying SQL code or database entities:
- Always use codelogic-database-impact to analyze potential impacts
- Highlight impact results for the modified database entities
To use the CodeLogic tools effectively:
- For code impacts: Ask about specific methods or functions
- For database relationships: Ask about tables, views, or columns
- Review the impact results before making changes
- Consider both direct and indirect impacts
Create a file ~/.claude/instructions.md
with the following content:
# CodeLogic MCP Server Instructions
When modifying existing code methods:
- Use codelogic-method-impact to analyze code changes
- Use codelogic-database-impact for database modifications
- Highlight impact results for the modified methods
When modifying SQL code or database entities:
- Always use codelogic-database-impact to analyze potential impacts
- Highlight impact results for the modified database entities
To use the CodeLogic tools effectively:
- For code impacts: Ask about specific methods or functions
- For database relationships: Ask about tables, views, or columns
- Review the impact results before making changes
- Consider both direct and indirect impacts
Create or modify the ~/.codeium/windsurf/memories/global_rules.md
markdown file with the following content:
When modifying existing code methods:
- Use codelogic-method-impact to analyze code changes
- Use codelogic-database-impact for database modifications
- Highlight impact results for the modified methods
When modifying SQL code or database entities:
- Always use codelogic-database-impact to analyze potential impacts
- Highlight impact results for the modified database entities
To use the CodeLogic tools effectively:
- For code impacts: Ask about specific methods or functions
- For database relationships: Ask about tables, views, or columns
- Review the impact results before making changes
- Consider both direct and indirect impacts
To configure CodeLogic rules in Cursor:
# CodeLogic MCP Server Rules
## Codebase
- The CodeLogic MCP Server is for java, javascript, typescript, and C# dotnet codebases
- don't run the tools on python or other non supported codebases
## AI Assistant Behavior
- When modifying existing code methods:
- Use codelogic-method-impact to analyze code changes
- Use codelogic-database-impact for database modifications
- Highlight impact results for the modified methods
- When modifying SQL code or database entities:
- Always use codelogic-database-impact to analyze potential impacts
- Highlight impact results for the modified database entities
- To use the CodeLogic tools effectively:
- For code impacts: Ask about specific methods or functions
- For database relationships: Ask about tables, views, or columns
- Review the impact results before making changes
- Consider both direct and indirect impacts
The following environment variables can be configured to customize the behavior of the server:
CODELOGIC_SERVER_HOST
: The URL of the CodeLogic server.CODELOGIC_USERNAME
: Your CodeLogic username.CODELOGIC_PASSWORD
: Your CodeLogic password.CODELOGIC_WORKSPACE_NAME
: The name of the workspace to use.CODELOGIC_DEBUG_MODE
: Set to true
to enable debug mode. When enabled, additional debug files such as timing_log.txt
and impact_data*.json
will be generated. Defaults to false
."env": {
"CODELOGIC_SERVER_HOST": "<url to the server e.g. https://myco.app.codelogic.com>",
"CODELOGIC_USERNAME": "<my username>",
"CODELOGIC_PASSWORD": "<my password>",
"CODELOGIC_WORKSPACE_NAME": "<my workspace>",
"CODELOGIC_DEBUG_MODE": "true"
}
instead of using the latest version of the server, you can pin to a specific version by changing the args field to match the version in pypi e.g.
"args": [
"codelogic-mcp-server@0.2.2"
],
This MCP server has the following version compatibility requirements:
If you're upgrading, make sure your CodeLogic server meets the minimum API version requirement.
When CODELOGIC_DEBUG_MODE=true
, debug files are written to the system temporary directory:
%TEMP%\codelogic-mcp-server
(typically C:\Users\{username}\AppData\Local\Temp\codelogic-mcp-server
)/tmp/codelogic-mcp-server
(or $TMPDIR/codelogic-mcp-server
if set)/tmp/codelogic-mcp-server
(or $TMPDIR/codelogic-mcp-server
if set)Debug files include:
timing_log.txt
- Performance timing informationimpact_data_*.json
- Raw impact analysis data for troubleshootingFinding your log directory:
import tempfile
import os
print("Log directory:", os.path.join(tempfile.gettempdir(), "codelogic-mcp-server"))
The project uses unittest for testing. You can run unit tests without any external dependencies:
python -m unittest discover -s test -p "unit_*.py"
Unit tests use mock data and don't require a connection to a CodeLogic server.
If you want to run integration tests that connect to a real CodeLogic server:
test/.env.test.example
to test/.env.test
and populate with your CodeLogic server detailspython -m unittest discover -s test -p "integration_*.py"
Note: Integration tests require access to a CodeLogic server instance.
Reviews feature coming soon
Stay tuned for community discussions and feedback