返回市场
代码逻辑-MCP服务器

代码逻辑-MCP服务器

作者:CodeLogicIncEngineering32 星标更新:2025-11-21

项目介绍

codelogic-mcp-server

一个MCP服务器,用于在您的AI编程助手中利用Codelogic丰富的软件依赖数据。

组件

工具

该服务器实现了两个工具:

  • codelogic-method-impact:从CodeLogic服务器API获取对您代码的影响评估。
    • 接受您正在处理的“方法”及其关联的“类”。
  • codelogic-database-impact:分析代码与数据库实体之间的相互影响。
    • 接受数据库实体类型(列、表或视图)及其名称。

安装

先决条件

MCP服务器依赖于Astral UV运行,请安装

MacOS上针对uvx的问题解决方法

MacOS上存在一个已知问题,即CodeLogic MCP服务器可能无法在某些IDE(如Cursor)中启动,导致出现错误: 见问题#11

连接客户端失败

这似乎是一个Astral uvx在MacOS上运行的问题。可以使用以下方法作为解决办法:

  1. 将此项目克隆到本地。
  2. 配置您的mcp.json以使用uv而不是uvx。例如:
{
  "mcpServers": {
    "codelogic-mcp-server": {
      "type": "stdio",
      "command": "<UV路径>/uv",
      "args": [
        "--directory",
        "<此仓库路径>/codelogic-mcp-server-main",
        "run",
        "codelogic-mcp-server"
      ],
      "env": {
        "CODELOGIC_SERVER_HOST": "<服务器URL,例如https://myco.app.codelogic.com>",
        "CODELOGIC_USERNAME": "<我的用户名>",
        "CODELOGIC_PASSWORD": "<我的密码>",
        "CODELOGIC_WORKSPACE_NAME": "<我的工作区>",
        "CODELOGIC_DEBUG_MODE": "true"
      }
    }
  }
}
  1. 重启Cursor。
  2. 确保Cursor中的CodeLogic全局规则已设置。
  3. 打开Cursor中的MCP标签页并刷新codelogic-mcp-server
  4. 请求Cursor在现有类中进行代码更改。此时MCP服务器应能成功运行影响分析。

不同IDE的配置

Visual Studio Code配置

要在VS Code中配置此MCP服务器:

  1. 首先确保在VS Code中启用了GitHub Copilot代理模式。

  2. 在您的工作区创建一个.vscode/mcp.json文件,并使用以下配置:

{
  "servers": {
    "codelogic-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "codelogic-mcp-server@latest"
      ],
      "env": {
        "CODELOGIC_SERVER_HOST": "<服务器URL,例如https://myco.app.codelogic.com>",
        "CODELOGIC_USERNAME": "<我的用户名>",
        "CODELOGIC_PASSWORD": "<我的密码>",
        "CODELOGIC_WORKSPACE_NAME": "<我的工作区>",
        "CODELOGIC_DEBUG_MODE": "true"
      }
    }
  }
}

注意:在某些系统上,您可能需要使用完整的uvx可执行文件路径,而不仅仅是"uvx"。例如:Linux/Mac上的/home/user/.local/bin/uvx或Windows上的C:\Users\username\AppData\Local\astral\uvx.exe

  1. 或者,您可以从命令面板运行MCP: 添加服务器命令,并提供服务器信息。

  2. 要管理您的MCP服务器,可以从命令面板使用MCP: 列出服务器命令。

  3. 配置完成后,Copilot代理模式下的服务器工具将可用。您可以通过点击聊天视图中的工具按钮来切换特定工具的开关。

  4. 若要在代理模式下使用Codelogic工具,您可以具体询问代码影响或数据库关系,代理将使用适当的工具。

Claude Desktop配置

通过编辑配置文件来配置Claude Desktop:

  • 在MacOS上:~/Library/Application\ Support/Claude/claude_desktop_config.json
  • 在Windows上:%APPDATA%/Claude/claude_desktop_config.json
  • 在Linux上:~/.config/Claude/claude_desktop_config.json

向您的配置文件添加以下内容:

"mcpServers": {
  "codelogic-mcp-server": {
    "command": "uvx",
    "args": [
      "codelogic-mcp-server@latest"
    ],
    "env": {
      "CODELOGIC_SERVER_HOST": "<服务器URL,例如https://myco.app.codelogic.com>",
      "CODELOGIC_USERNAME": "<我的用户名>",
      "CODELOGIC_PASSWORD": "<我的密码>",
      "CODELOGIC_WORKSPACE_NAME": "<我的工作区>"
    }
  }
}

注意:在某些系统上,您可能需要使用完整的uvx可执行文件路径,而不仅仅是"uvx"。例如:Linux/Mac上的/home/user/.local/bin/uvx或Windows上的C:\Users\username\AppData\Local\astral\uvx.exe

添加配置后,重启Claude Desktop以应用更改。

Windsurf IDE配置

要使用Windsurf IDE运行此MCP服务器:

配置Windsurf IDE

要配置Windsurf IDE,您需要创建或修改~/.codeium/windsurf/mcp_config.json配置文件。

向您的文件添加以下配置:

"mcpServers": {
  "codelogic-mcp-server": {
    "command": "uvx",
    "args": [
      "codelogic-mcp-server@latest"
    ],
    "env": {
      "CODELOGIC_SERVER_HOST": "<服务器URL,例如https://myco.app.codelogic.com>",
      "CODELOGIC_USERNAME": "<我的用户名>",
      "CODELOGIC_PASSWORD": "<我的密码>",
      "CODELOGIC_WORKSPACE_NAME": "<我的工作区>"
    }
  }
}

注意:在某些系统上,您可能需要使用完整的uvx可执行文件路径,而不仅仅是"uvx"。例如:Linux/Mac上的/home/user/.local/bin/uvx或Windows上的C:\Users\username\AppData\Local\astral\uvx.exe

添加配置后,重启Windsurf IDE或刷新工具以应用更改。

Cursor配置

要在Cursor中配置CodeLogic MCP服务器:

  1. 通过创建.cursor/mcp.json文件来配置MCP服务器:
{
  "mcpServers": {
    "codelogic-mcp-server": {
      "command": "uvx",
      "args": [
        "codelogic-mcp-server@latest"
      ],
      "env": {
        "CODELOGIC_SERVER_HOST": "<服务器URL,例如https://myco.app.codelogic.com>",
        "CODELOGIC_USERNAME": "<我的用户名>",
        "CODELOGIC_PASSWORD": "<我的密码>",
        "CODELOGIC_WORKSPACE_NAME": "<我的工作区>",
        "CODELOGIC_DEBUG_MODE": "true"
      }
    }
  }
}

注意:在某些系统上,您可能需要使用完整的uvx可执行文件路径,而不仅仅是"uvx"。例如:Linux/Mac上的/home/user/.local/bin/uvx或Windows上的C:\Users\username\AppData\Local\astral\uvx.exe

  1. 重启Cursor以应用更改。

现在,CodeLogic MCP服务器工具将在您的Cursor工作区中可用。

AI助手指令/规则

为了帮助AI助手有效地使用CodeLogic工具,您可以在客户端配置中添加以下指令/规则。我们建议根据团队的具体编码标准、最佳实践和工作流程需求定制这些指令:

VS Code(GitHub Copilot)指令

创建一个.vscode/copilot-instructions.md文件,内容如下:

# CodeLogic MCP Server指令

当修改现有代码方法时:
- 使用codelogic-method-impact分析代码更改
- 使用codelogic-database-impact进行数据库修改
- 强调修改方法的影响结果

当修改SQL代码或数据库实体时:
- 始终使用codelogic-database-impact分析潜在影响
- 强调修改数据库实体的影响结果

有效使用CodeLogic工具:
- 对于代码影响:询问特定的方法或函数
- 对于数据库关系:询问表、视图或列
- 修改前审查影响结果
- 考虑直接和间接影响

Claude Desktop指令

创建一个~/.claude/instructions.md文件,内容如下:

# CodeLogic MCP Server指令

当修改现有代码方法时:
- 使用codelogic-method-impact分析代码更改
- 使用codelogic-database-impact进行数据库修改
- 强调修改方法的影响结果

当修改SQL代码或数据库实体时:
- 始终使用codelogic-database--impact分析潜在影响
- 强调修改数据库实体的影响结果

有效使用CodeLogic工具:
- 对于代码影响:询问特定的方法或函数
- 对于数据库关系:询问表、视图或列
- 修改前审查影响结果
- 考虑直接和间接影响

Windsurf IDE规则

创建或修改~/.codeium/windsurf/memories/global_rules.md Markdown文件,内容如下:

当修改现有代码方法时:
- 使用codelogic-method-impact分析代码更改
- 使用codelogic-database-impact进行数据库修改
- 强调修改方法的影响结果

当修改SQL代码或数据库实体时:
- 始终使用codelogic-database-impact分析潜在影响
- 强调修改数据库实体的影响结果

有效使用CodeLogic工具:
- 对于代码影响:询问特定的方法或函数
- 对于数据库关系:询问表、视图或列
- 修改前审查影响结果
- 考虑直接和间接影响

Cursor全局规则

要在Cursor中配置CodeLogic规则:

  1. 打开Cursor设置
  2. 导航至“规则”部分
  3. 向“用户规则”添加以下内容:
# CodeLogic MCP Server规则
## 代码库
- CodeLogic MCP Server适用于Java、JavaScript、TypeScript和C# .NET代码库
- 不要在Python或其他不支持的代码库上运行工具
## AI助手行为
- 当修改现有代码方法时:
  - 使用codelogic-method-impact分析代码更改
  - 使用codelogic-database-impact进行数据库修改
  - 强调修改方法的影响结果
- 当修改SQL代码或数据库实体时:
  - 始终使用codelogic-database-impact分析潜在影响
  - 强调修改数据库实体的影响结果
- 有效使用CodeLogic工具:
  - 对于代码影响:询问特定的方法或函数
  - 对于数据库关系:询问表、视图或列
  - 修改前审查影响结果
  - 考虑直接和间接影响

环境变量

可以配置以下环境变量来自定义服务器的行为:

  • CODELOGIC_SERVER_HOST:CodeLogic服务器的URL。
  • CODELOGIC_USERNAME:您的CodeLogic用户名。
  • CODELOGIC_PASSWORD:您的CodeLogic密码。
  • CODELOGIC_WORKSPACE_NAME:要使用的workspace名称。
  • CODELOGIC_DEBUG_MODE:设置为true启用调试模式。启用后,将生成额外的调试文件,如timing_log.txtimpact_data*.json。默认值为false

示例配置

"env": {
  "CODELOGIC_SERVER_HOST": "<服务器URL,例如https://myco.app.codelogic.com>",
  "CODELOGIC_USERNAME": "<我的用户名>",
  "CODELOGIC_PASSWORD": "<我的密码>",
  "CODELOGIC_WORKSPACE_NAME": "<我的工作区>",
  "CODELOGIC_DEBUG_MODE": "true"
}

固定版本

如果您不想使用最新版本的服务器,可以通过更改args字段来固定到pypi中的特定版本,例如:

    "args": [
      "codelogic-mcp-server@0.2.2"
    ],

版本兼容性

此MCP服务器具有以下版本兼容性要求:

  • 版本0.3.1及以下:兼容所有CodeLogic API版本
  • 版本0.4.0及以上:需要CodeLogic API版本25.10.0或更高

升级时,请确保您的CodeLogic服务器满足最低API版本要求。

调试日志

CODELOGIC_DEBUG_MODE=true时,调试文件将写入系统临时目录:

  • Windows%TEMP%\codelogic-mcp-server(通常为C:\Users\{username}\AppData\Local\Temp\codelogic-mcp-server
  • macOS/tmp/codelogic-mcp-server(如果设置了$TMPDIR,则为$TMPDIR/codelogic-mcp-server
  • Linux/tmp/codelogic-mcp-server(如果设置了$TMPDIR,则为$TMPDIR/codelogic-mcp-server

调试文件包括

  • timing_log.txt - 性能计时信息
  • impact_data_*.json - 原始影响分析数据,用于故障排除

查找您的日志目录

import tempfile
import os
print("日志目录:", os.path.join(tempfile.gettempdir(), "codelogic-mcp-server"))

测试

运行单元测试

该项目使用unittest进行测试。您可以运行单元测试而不依赖任何外部依赖项:

python -m unittest discover -s test -p "unit_*.py"

单元测试使用模拟数据,不需要连接到CodeLogic服务器。

集成测试(可选)

如果您想运行连接到真实CodeLogic服务器的集成测试:

  1. 复制test/.env.test.exampletest/.env.test并填充您的CodeLogic服务器详细信息
  2. 运行集成测试:
python -m unittest discover -s test -p "integration_*.py"

注意:集成测试需要访问CodeLogic服务器实例。

正式MCP注册验证

mcp-name: io.github.CodeLogicIncEngineering/codelogic-mcp-server