Skip to main content

Integrates CodeLogic's powerful codebase knowledge graphs with a Model Context Protocol (MCP) server

Project description

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

Claude Desktop

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

"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 marterialized view>"
    }
  }
}

Windsurf IDE

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 marterialized 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": [
      "codelogic-mcp-server@0.2.2"
    ],

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codelogic_mcp_server-0.4.0.tar.gz (117.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codelogic_mcp_server-0.4.0-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

Details for the file codelogic_mcp_server-0.4.0.tar.gz.

File metadata

File hashes

Hashes for codelogic_mcp_server-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8a38d3b614f2561ef79ba9b37d8200229c5508ed27912b712db97bf97878f3ec
MD5 345a2d656f9d94595977f94928570e76
BLAKE2b-256 8341ccc0f8e21bc71bc41432ef6e7043f4822d6ef86093c72c65384f215aa30c

See more details on using hashes here.

File details

Details for the file codelogic_mcp_server-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for codelogic_mcp_server-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b08a128248bd373e7d0d67c0f12013d398202a5ee83ec2ede88e0ea9ebf9f43
MD5 c595e9aab8b07b49d99fb7b9d0f74f97
BLAKE2b-256 ea105cf98fc2d327a388f246b11bc4923a6f14e853a68202257feb90cf2588e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page