Trailmark MCP Server
Trailmark MCP 服务器
Trailmark MCP 服务器是 的一个独立 MCP 封装。
虽然我了解 ToB 在 中的用法,但我的用例需要一个能够分析并服务于多个图表的 MCP 服务器。该服务器可以扫描多个仓库,LLM 可以分别从每个仓库请求信息。
主要由 OpenAI GPT-5.5 通过 VS Code 中的 Github Copilot 创建。请将您的 LLM 指向 ai-docs 目录以获取文档和开发支持。
要求
Python 3.12+
uv
项目元数据:
包名称:
trailmark-mcpCLI 命令:
trailmark-mcp
安装
安装运行时和开发依赖:
uv sync --group dev快速入门
通过 stdio 启动服务器:
uv run trailmark-mcp serve --transport stdio在没有 MCP 客户端的情况下对直接扫描路径进行冒烟测试:
uv run trailmark-mcp scan /path/to/repo需要时在扫描期间跳过预分析:
uv run trailmark-mcp scan /path/to/repo --skip-preanalysis服务器工作原理
主要生命周期入口点是 open_repository(...)。
行为总结:
如果不存在快照,服务器会扫描源代码,可选择运行预分析,并保存第一个快照
如果存在快照且
rescan=False,服务器会将最新快照重新加载到实时会话中如果
rescan=True,服务器会从源代码重新构建并保存一个全新的快照
这意味着常见的流程是:
调用
open_repository针对返回的会话使用图表工具
当您需要持久化时,在有意义的内存中变异后调用
save_snapshot
会话模型
session_id 是 MCP 封装状态,而不是 Trailmark 核心状态。
当前语义:
每个
open_repository(...)调用都会创建一个新的会话 ID多个实时会话可以共存
工具接受
session_id以针对特定的图表省略
session_id将使用最近打开且仍处于打开状态的会话关闭默认会话会提升最近打开的剩余会话
使用 current_repository(session_id=...) 来验证会话指向哪个仓库。
公共 MCP 工具
生命周期:
open_repositorycurrent_repositoryclose_repositorysave_snapshot
导航:
graph_summarydiff_graphssearch_nodescallers_ofcallees_ofancestors_ofreachable_frompaths_betweenentrypoint_paths_toattack_surfacecomplexity_hotspotsfunctions_that_raise
上下文和变异:
subgraphannotations_offindingsnodes_with_annotationrun_preanalysisannotate_nodeclear_annotationsaugment_findings
注意:
diff_graphs(before_session_id, after_session_id)将after视为新状态search_nodes支持contains、exact和suffix已移除的辅助表面(如
scan_repository和tool_manifest)不再是公共运行时的一部分
快照行为
快照写入在被分析的仓库下,而不是在此服务器仓库下:
<target-repo>/.trailmark/snapshots/<timestamp>/当前的快照工件包括:
graph.jsonsummary.jsonentrypoints.jsonhotspots.jsonsubgraphs.jsonscan-metadata.json
快照支持重新加载到实时会话中。当您明确需要从源代码进行全新重建时,请使用 rescan=True。
仓库布局
关键文件:
src/trailmark_mcp/cli.py: 用于scan和serve的 CLI 入口点src/trailmark_mcp/mcp_app.py: MCP 工具注册src/trailmark_mcp/tool_catalog.py: 公开工具的声明式元数据src/trailmark_mcp/services/registry.py: 会话跟踪src/trailmark_mcp/services/runtime.py: 基于 Trailmark 的主要运行时行为
开发
运行重点测试套件:
uv run --group dev pytest tests/test_tool_catalog.py tests/test_registry.py tests/test_stdio_server.py当前的 CI 在 Python 3.12 上运行相同的重点套件。
扩展规则:
添加或更改运行时行为
在
mcp_app.py中注册工具更新
tool_catalog.py中的元数据更新测试
如果公共行为发生变化,更新文档
在 VS Code 中使用
VS Code 可以通过工作区级别的 mcp.json 文件直接通过 MCP 启动此服务器。
典型设置:
在 VS Code 中打开此仓库
确保使用
uv sync --group dev安装了依赖项将服务器定义保留在
.vscode/mcp.json中让 MCP 客户端通过
stdio启动服务器
此仓库已包含用于本地使用的 .vscode/mcp.json。
示例 mcp.json:
{
"servers": {
"trailmark-mcp": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"trailmark-mcp",
"serve",
"--transport",
"stdio"
]
}
}
}如果您从更大的多项目工作区使用此服务器,请将相同的定义复制到该工作区根目录的 .vscode/mcp.json 中,并确保命令在可以使用 uv 和此项目的环境中运行。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/parsiya/trailmark-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server