codelogic-mcp-server

codelogic-mcp-server avatar

by actions-user

Official Integrations

An MCP Server to utilize Codelogic's rich software dependency data in your AI programming assistant.

What is codelogic-mcp-server

codelogic-mcp-server

An MCP Server to utilize Codelogic's rich software dependency data in your AI programming assistant.

Components

Tools

The server implements two tools:

  • codelogic-method-impact: Pulls an impact assessment from the CodeLogic server's APIs for your code.
    • Takes the given "method" that you're working on and its associated "class".
  • codelogic-database-impact: Analyzes impacts between code and database entities.
    • Takes the database entity type (column, table, or view) and its name.

Install

Pre Requisites

The MCP server relies upon Astral UV to run, please install

To configure this MCP server in VS Code:

  1. First, ensure you have GitHub Copilot agent mode enabled in VS Code.

  2. 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_MV_NAME": "<my materialized view>",
        "CODELOGIC_DEBUG_MODE": "true"
      }
    }
  }
}
  1. Alternatively, you can run the MCP: Add Server command from the Command Palette and provide the server information.

  2. To manage your MCP servers, use the MCP: List Servers command from the Command Palette.

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

  4. 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:

  • On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • On Windows: %APPDATA%/Claude/claude_desktop_config.json
  • On Linux: ~/.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_MV_NAME": "<my materialized view>"
    }
  }
}

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_MV_NAME": "<my materialized view>"
    }
  }
}

Add a global rule to help Windsurf call the tools, create or modify the ~/.codeium/windsurf/memories/global_rules.md markdown file.

Add the following or something similar:

When I ask you to modify existing code, try running the codelogic-method-impact and codelogic-database-impact MCP tools against the code I've provided and any methods or functions that you are changing. Make sure the results sent back from the tool are highlighted as impacts for the given method or function.

After adding the configuration, restart Windsurf IDE or refresh the tools to apply the changes.

Environment Variables

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_MV_NAME: The name of the materialized view 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.

Example Configuration

"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 materialized view>",
  "CODELOGIC_DEBUG_MODE": "true"
}

Pinning the version

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": [
      "[email protected]"
    ],

Version Compatibility

This MCP server has the following version compatibility requirements:

  • Version 0.3.1 and below: Compatible with all CodeLogic API versions
  • Version 0.4.0 and above: Requires CodeLogic API version 25.10.0 or greater

If you're upgrading, make sure your CodeLogic server meets the minimum API version requirement.

Testing

Running Unit Tests

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.

Integration Tests (Optional)

If you want to run integration tests that connect to a real CodeLogic server:

  1. Copy test/.env.test.example to test/.env.test and populate with your CodeLogic server details
  2. Run the integration tests:
python -m unittest discover -s test -p "integration_*.py"

Note: Integration tests require access to a CodeLogic server instance.

Leave a Comment

Comments section will be available soon. Stay tuned!

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.