LogicMap MCP服务器
一种MCP服务器实现,提供语义知识图工具,用于理解项目结构、业务逻辑和代码关系。
特性
- 语义知识图:记录业务逻辑和概念关系,而不仅仅是代码结构
- 多项目管理:同时管理多个项目知识图
- 丰富的节点类型:支持概念、流程、模块、组件、数据实体和外部依赖关系
- 关系建模:表示各种逻辑关系(调用、依赖、实现、流向、使用数据、触发器、扩展)
- 强大的查询工具:搜索节点、查询关系和探索图结构
- 语言无关:不依赖于特定的语言解析器,适用于任何代码库
- 渐进式施工:从核心流程开始,逐步构建知识图
工具
项目管理
- 创建项目:使用元数据创建新项目
- updateProject:更新项目信息
- 删除项目:删除项目
- 项目列表:列出所有可用项目
节点管理
- addNode 的:在知识图中添加语义节点
- 类型: concept, flow, module, component, data, external - 支持标签、文件关联和自定义元数据
- 更新节点:更新现有节点信息
- remove节点:删除节点,并可选择级联删除相关边
关系管理
- 链接节点:在节点之间创建关系
- 类型: calls, depends, implements, flows_to, uses_data, triggers, extends - 支持关系强度和描述
- 取消链接节点:删除节点之间的关系
查询工具
- queryNode:获取具有关系的详细节点信息
- 支持深度可配置的邻居遍历
- 搜索节点:按条件搜索节点
- 按类型、标签、文件或文本内容筛选 - 可配置的结果限制
用法
LogicMap设计用于:
- 理解复杂的代码库和业务逻辑
- 记录系统架构和数据流
- 更改前的影响分析
- 新团队成员入职
- 人工智能辅助代码理解
- 跨团队知识共享
配置
使用Claude Desktop
将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"logicmap": {
"command": "node",
"args": [
"/absolute/path/to/logicmap-mcp-server/dist/index.js"
]
}
}
}与Kiro配合使用(与其他基于vscode的IDE兼容)
将配置添加到MCP配置文件中。打开命令选项板(Ctrl + Shift + P 或 Cmd + Shift + P)然后跑 MCP: Open User Configuration。这将打开您的用户 mcp.json 您可以在其中添加服务器配置的文件。
用户配置(推荐):
{
"mcpServers": {
"logicmap": {
"command": "node",
"args": [
"/absolute/path/to/logicmap-mcp-server/dist/index.js"
]
}
}
}工作区配置:
或者,创建 .kiro/settings/mcp.json 在您的工作空间中:
{
"mcpServers": {
"logicmap": {
"command": "node",
"args": [
"/absolute/path/to/logicmap-mcp-server/dist/index.js"
]
}
}
}有关MCP配置的更多详细信息,请参阅 Kiro MCP文件.
配置示例
看 mcp-config-example.json 以获得完整的配置示例。
安装
源自源头
# Clone the repository
git clone https://github.com/yourusername/logicmap-mcp-server.git
cd logicmap-mcp-server
# Install dependencies
npm install
# Build the project
npm run build验证安装
构建后,测试服务器:
# Run tests
npm test
# Check build output
ls dist/发展
# Development mode (watch for changes)
npm run dev
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Lint code
npm run lint
# Format code
npm run format
# Clean build output
npm run clean示例用法
创建知识图谱
// 1. Create a project
await createProject({
name: "My Web App",
description: "E-commerce platform",
workspacePath: "/path/to/project"
});
// 2. Add semantic nodes
await addNode({
id: "user-auth-flow",
type: "flow",
name: "User Authentication Flow",
description: "Handles user login, token validation, and permission checks",
files: ["src/auth/controller.ts", "src/auth/service.ts"],
tags: ["core", "security"]
});
await addNode({
id: "payment-service",
type: "module",
name: "Payment Service",
description: "Integrates with Stripe and PayPal for payment processing",
files: ["src/payment/processor.ts"],
tags: ["core", "third-party"]
});
// 3. Create relationships
await linkNodes({
from: "user-auth-flow",
to: "payment-service",
type: "depends",
description: "Payment requires authenticated user session"
});
// 4. Query the graph
const result = await queryNode({
id: "user-auth-flow",
includeNeighbors: true,
depth: 2
});
// 5. Search nodes
const searchResults = await searchNodes({
tags: ["core"],
types: ["flow", "module"],
limit: 10
});项目结构
logicmap-mcp-server/
├── src/
│ ├── index.ts # Entry point
│ ├── types/ # TypeScript type definitions
│ ├── schemas/ # JSON Schema validation
│ ├── services/ # Core business logic
│ │ ├── NodeService.ts # Node CRUD operations
│ │ ├── EdgeService.ts # Relationship management
│ │ └── QueryService.ts # Graph queries
│ ├── storage/ # Data persistence
│ │ └── StorageManager.ts # File-based storage with locking
│ └── mcp/ # MCP protocol implementation
│ └── MCPServerHandler.ts
├── tests/ # Test files
├── dist/ # Build output
└── package.json数据存储
LogicMap将项目数据存储在 ~/.logicmap/projects/ 作为JSON文件:
~/.logicmap/
└── projects/
└── {project-id}/
└── graph.json # Complete knowledge graph每个图形文件包含:
- 项目元数据
- 节点字典(用于O(1)查找)
- 边缘列表
- 时间戳
技术栈
- 运行时:Node.js>=18.0.0
- 语言:TypeScript 5.3+
- 协议:模型上下文协议(MCP)
- 验证:Ajv(JSON模式)
- 存储:带有正确锁文件的JSON文件
- 测试:Vitest+快速检查
建筑
# Build TypeScript to JavaScript
npm run build
# Output will be in dist/ directory贡献
欢迎投稿!请参阅 贡献.md 作为指导方针。
许可证
此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅 许可证 项目存储库中的文件。
