c8y codex mcp
用于积云食典文件的非官方MCP服务器。
一个LLM桥,用于获取Cumulocity文档并公开MCP工具,以实现高效的文档发现和检索。
发展
安装依赖项并在本地运行:
pnpm install
pnpm dev构建生产输出:
pnpm build
pnpm preview运行测试:
pnpm vitest run默认情况下,MCP端点在以下位置可用 http://localhost:3000/mcp.
运作原理
Fetch llms.txt live → Parse structure → Resolve requested docs lazily → Cache raw/enriched content per URL with different TTLs → Expose MCP tools该服务器按需镜像Codex结构,并通过浏览器渲染为具有缓存的原始和丰富文档内容的MCP检索工具提供服务。
用法
将您的MCP客户端指向您部署的URL(或本地URL)并使用 /mcp 作为终点。
Visual Studio Code
创建或更新 .vscode/mcp.json:
{
"servers": {
"c8y-docs": {
"type": "http",
"url": "https:///mcp"
}
}
}克劳德代码
claude mcp add --transport http c8y-docs https:///mcp光标
创建或更新 .cursor/mcp.json:
{
"mcpServers": {
"c8y-docs": {
"type": "http",
"url": "https:///mcp"
}
}
}帆板运动
创建或更新 .codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"c8y-docs": {
"type": "http",
"url": "https:///mcp"
}
}
}泽德
增添 .config/zed/settings.json:
{
"context_servers": {
"c8y-docs": {
"source": "custom",
"command": "npx",
"args": ["mcp-remote", "https:///mcp"],
"env": {}
}
}
}MCP工具和提示
工具
- 获取codex结构:返回完整的食品法典结构(带链接的章节/小节/子小节)。
- 查询代码:对结构元数据和链接的原始降价内容进行基于关键字的发现。
- 获取codex文档:按URL获取完整的原始降价内容。
- 丰富codex文档:昂贵的回退,返回浏览器渲染的丰富标记,具有可选的块搜索和基于行的分页。
提示
- codex查询工作流:用于确定性工具流的可重用提示模板(
query-codex→get-codex-documents,具有可选的丰富回退)。
工作原理(详细)
Fetch llms.txt live → Parse structure → Resolve requested docs lazily → Cache raw/enriched content per URL with different TTLs → Expose MCP tools- 获取并解析Codex结构(
llms.txt)根据需求。 - 延迟解析请求URL的原始降价内容。
- 可选择在浏览器渲染中渲染文档,以进行丰富的标记提取。
- 使用单独的TTL/命名空间缓存结构和文档内容。
- 为发现和检索工作流提供MCP工具/提示。
运行时详细信息:
- 这
/mcp端点使用Cloudflareagents/mcp(McpAgent)具有持久对象支持的运行时。 - 传输/会话生命周期由代理运行时管理。
- 工具和提示在代理类中初始化。
浏览器渲染丰富:
- 浏览器绑定名称必须为
BROWSER. - 请求
.mdURL呈现为非-.md页面,然后main#main-content被提取并转换为markdown。 - 每次渲染请求都会启动一个新的浏览器,然后关闭。
- 如果渲染或提取失败,分辨率将回落到直接分辨率
.md取回。
缓存模型:
- 已解析的Codex结构(
llms.txt)被缓存10分钟。 - 原始markdown文档内容按URL缓存2小时。
- 丰富的浏览器渲染的markdown内容将按每个URL缓存12小时。
- 内容缓存条目通过TTL过期,并在下次请求时重新计算。
查询和输出行为:
query-codex需要一个空格分隔的关键字查询(例如:services app-state permissions).- 原始文档输出使内部Codex哈希链接标准化(
#/...)转换为绝对人类可读的Codex URL(无.md). - 渲染/丰富的缓存键使用专用命名空间(
c8y:rendered-*)并且永远不会覆盖原始缓存条目(c8y:raw:*).
丰富的基于行的检索:
get-codex-document-enriched包括startLine,endLine,returnedLines,以及nextStartLine元数据。- 分块和行分页仅在丰富的工具中使用。
许可证
麻省理工学院
