Skip to main content
Glama

Memory Bank MCP Server

by yywdandan
api.html36.4 kB
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>API 文档 - Memory Bank</title> <link rel="stylesheet" href="lib/bootstrap/bootstrap.min.css"> <link rel="stylesheet" href="lib/highlight/github.min.css"> <link rel="stylesheet" href="css/style.css"> </head> <body> <nav class="navbar navbar-expand-lg navbar-dark bg-primary"> <div class="container"> <a class="navbar-brand" href="/">Memory Bank MCP 服务器</a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav ms-auto"> <li class="nav-item"> <a class="nav-link" href="index.html">首页</a> </li> <li class="nav-item"> <a class="nav-link" href="projects.html">项目管理</a> </li> <li class="nav-item"> <a class="nav-link" href="tutorial.html">使用教程</a> </li> <li class="nav-item"> <a class="nav-link active" href="api.html">API 文档</a> </li> <li class="nav-item"> <a class="nav-link" href="about.html">关于</a> </li> </ul> </div> </div> </nav> <div class="container mt-5"> <div class="row"> <div class="col-lg-3"> <div class="sticky-top pt-4"> <div class="list-group"> <a href="#rest-api" class="list-group-item list-group-item-action">REST API</a> <a href="#project-api" class="list-group-item list-group-item-action">项目管理接口</a> <a href="#document-api" class="list-group-item list-group-item-action">文档管理接口</a> <a href="#rule-api" class="list-group-item list-group-item-action">规则管理接口</a> <a href="#mcp-api" class="list-group-item list-group-item-action">MCP 工具接口</a> <a href="#van-api" class="list-group-item list-group-item-action">VAN 模式接口</a> <a href="#plan-api" class="list-group-item list-group-item-action">PLAN 模式接口</a> <a href="#creative-api" class="list-group-item list-group-item-action">CREATIVE 模式接口</a> <a href="#implement-api" class="list-group-item list-group-item-action">IMPLEMENT 模式接口</a> <a href="#reflect-api" class="list-group-item list-group-item-action">REFLECT 模式接口</a> <a href="#archive-api" class="list-group-item list-group-item-action">ARCHIVE 模式接口</a> </div> </div> </div> <div class="col-lg-9"> <div class="card shadow-sm mb-5"> <div class="card-body"> <h1 class="mb-4">API 文档</h1> <section id="rest-api" class="mb-5"> <h2>REST API 概览</h2> <p>Memory Bank MCP 服务器提供了一套完整的 REST API,用于管理项目、文档和规则。所有 API 都返回 JSON 格式的响应,遵循一致的响应格式。</p> <h4>响应格式</h4> <div class="code-example"> <pre><code class="language-javascript">{ "status": "success", // 或 "error" "data": { // 返回的数据 }, "message": "操作成功" // 或错误信息 }</code></pre> </div> <h4>错误处理</h4> <p>当 API 请求失败时,返回的响应将包含错误信息:</p> <div class="code-example"> <pre><code class="language-javascript">{ "status": "error", "message": "详细的错误信息", "code": "ERROR_CODE" // 错误代码 }</code></pre> </div> </section> <section id="project-api" class="mb-5"> <h2>项目管理接口</h2> <div class="api-method"> <h3> <span class="method-badge method-get">GET</span> <span class="endpoint">/api/projects</span> </h3> <p>获取所有项目列表</p> <div class="api-params"> <h5>请求参数</h5> <p>无</p> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/projects') .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "status": "success", "data": [ { "id": "project-123", "name": "示例项目", "description": "这是一个示例项目", "createdAt": "2023-11-30T08:15:30Z", "updatedAt": "2023-11-30T10:22:45Z" }, { "id": "project-456", "name": "测试项目", "description": "用于测试的项目", "createdAt": "2023-11-29T14:25:10Z", "updatedAt": "2023-11-29T16:30:22Z" } ] }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-post">POST</span> <span class="endpoint">/api/projects</span> </h3> <p>创建新项目</p> <div class="api-params"> <h5>请求参数</h5> <ul> <li><code>name</code> (必填) - 项目名称</li> <li><code>description</code> (可选) - 项目描述</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/projects', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: '新项目', description: '这是一个新项目' }) }) .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "status": "success", "data": { "id": "project-789", "name": "新项目", "description": "这是一个新项目", "createdAt": "2023-12-01T09:45:12Z", "updatedAt": "2023-12-01T09:45:12Z", "documents": [ "projectbrief.md", "tasks.md", "activeContext.md" ] } }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-get">GET</span> <span class="endpoint">/api/projects/:id</span> </h3> <p>获取项目详情</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>id</code> - 项目ID</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/projects/project-123') .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "status": "success", "data": { "id": "project-123", "name": "示例项目", "description": "这是一个示例项目", "createdAt": "2023-11-30T08:15:30Z", "updatedAt": "2023-11-30T10:22:45Z" } }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-put">PUT</span> <span class="endpoint">/api/projects/:id</span> </h3> <p>更新项目</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>id</code> - 项目ID</li> </ul> <h5>请求参数</h5> <ul> <li><code>name</code> (可选) - 新项目名称</li> <li><code>description</code> (可选) - 新项目描述</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/projects/project-123', { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: '更新的项目名称', description: '更新的项目描述' }) }) .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "status": "success", "data": { "id": "project-123", "name": "更新的项目名称", "description": "更新的项目描述", "updatedAt": "2023-12-01T11:30:25Z" } }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-delete">DELETE</span> <span class="endpoint">/api/projects/:id</span> </h3> <p>删除项目</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>id</code> - 项目ID</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/projects/project-123', { method: 'DELETE' }) .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "status": "success", "data": { "success": true, "message": "项目删除成功" } }</code></pre> </div> </div> </div> </section> <section id="document-api" class="mb-5"> <h2>文档管理接口</h2> <div class="api-method"> <h3> <span class="method-badge method-get">GET</span> <span class="endpoint">/api/projects/:projectId/documents</span> </h3> <p>获取项目文档列表</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>projectId</code> - 项目ID</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/projects/project-123/documents') .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "status": "success", "data": [ { "id": "doc-001", "name": "projectbrief.md", "type": "projectbrief", "updatedAt": "2023-11-30T09:20:15Z" }, { "id": "doc-002", "name": "tasks.md", "type": "tasks", "updatedAt": "2023-11-30T10:15:30Z" }, { "id": "doc-003", "name": "activeContext.md", "type": "activeContext", "updatedAt": "2023-11-30T11:05:45Z" } ] }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-get">GET</span> <span class="endpoint">/api/projects/:projectId/documents/:type</span> </h3> <p>获取文档内容</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>projectId</code> - 项目ID</li> <li><code>type</code> - 文档类型</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/projects/project-123/documents/tasks') .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "status": "success", "data": { "id": "doc-002", "name": "tasks.md", "content": "# 任务列表\n\n## 待办任务\n- [ ] [高] 实现用户认证\n- [ ] [中] 添加日志记录\n\n## 进行中任务\n- [-] 完善错误处理 (60%)\n\n## 已完成任务\n- [x] 设计数据模型\n- [x] 创建项目结构", "type": "tasks", "updatedAt": "2023-11-30T10:15:30Z", "html": "<h1>任务列表</h1>..." } }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-put">PUT</span> <span class="endpoint">/api/projects/:projectId/documents/:type</span> </h3> <p>更新文档内容</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>projectId</code> - 项目ID</li> <li><code>type</code> - 文档类型</li> </ul> <h5>请求参数</h5> <ul> <li><code>content</code> (必填) - 文档内容</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/projects/project-123/documents/tasks', { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ content: "# 任务列表\n\n## 待办任务\n- [ ] [高] 实现用户认证\n- [ ] [中] 添加日志记录\n- [ ] [低] 优化性能\n\n## 进行中任务\n- [-] 完善错误处理 (60%)\n\n## 已完成任务\n- [x] 设计数据模型\n- [x] 创建项目结构" }) }) .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "status": "success", "data": { "id": "doc-002", "name": "tasks.md", "type": "tasks", "updatedAt": "2023-12-01T14:25:45Z", "message": "文档更新成功" } }</code></pre> </div> </div> </div> </section> <div class="text-center my-5"> <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#moreApiDocs" aria-expanded="false"> 查看更多API文档 </button> </div> <div class="collapse" id="moreApiDocs"> <section id="rule-api" class="mb-5"> <h2>规则管理接口</h2> <p>规则管理接口用于创建、查询、更新和删除项目规则,包括全局规则和项目特定规则。</p> <div class="api-method"> <h3> <span class="method-badge method-get">GET</span> <span class="endpoint">/api/projects/:projectId/rules</span> </h3> <p>获取项目规则列表</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>projectId</code> - 项目ID</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/projects/project-123/rules') .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "success": true, "data": [ { "id": "rule-001", "name": "命名规范", "description": "项目命名规范", "content": "所有类名使用PascalCase,变量和方法使用camelCase", "type": "coding", "scope": "project", "priority": "high", "createdAt": "2023-11-30T09:15:30Z", "updatedAt": "2023-11-30T09:15:30Z" }, { "id": "rule-002", "name": "提交规范", "description": "Git提交规范", "content": "提交信息格式:[类型] 描述,类型包括feat, fix, docs, style等", "type": "workflow", "scope": "project", "priority": "medium", "createdAt": "2023-11-30T10:20:15Z", "updatedAt": "2023-11-30T10:20:15Z" } ] }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-get">GET</span> <span class="endpoint">/api/rules/:id</span> </h3> <p>获取规则详情</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>id</code> - 规则ID</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/rules/rule-001') .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "success": true, "data": { "id": "rule-001", "name": "命名规范", "description": "项目命名规范", "content": "所有类名使用PascalCase,变量和方法使用camelCase", "type": "coding", "scope": "project", "projectId": "project-123", "priority": "high", "createdAt": "2023-11-30T09:15:30Z", "updatedAt": "2023-11-30T09:15:30Z" } }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-post">POST</span> <span class="endpoint">/api/rules</span> </h3> <p>创建新规则</p> <div class="api-params"> <h5>请求参数</h5> <ul> <li><code>name</code> (必填) - 规则名称</li> <li><code>description</code> (可选) - 规则描述</li> <li><code>content</code> (必填) - 规则内容</li> <li><code>type</code> (必填) - 规则类型(如coding, workflow, documentation等)</li> <li><code>scope</code> (必填) - 规则范围(global或project)</li> <li><code>projectId</code> (当scope为project时必填) - 项目ID</li> <li><code>priority</code> (可选) - 规则优先级(high, medium, low)</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/rules', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: "代码审查规则", description: "代码审查标准和流程", content: "每个PR必须至少有一名审查者审核通过才能合并", type: "workflow", scope: "project", projectId: "project-123", priority: "high" }) }) .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "success": true, "data": { "id": "rule-003", "name": "代码审查规则", "description": "代码审查标准和流程", "content": "每个PR必须至少有一名审查者审核通过才能合并", "type": "workflow", "scope": "project", "projectId": "project-123", "priority": "high", "createdAt": "2023-12-01T14:30:25Z", "updatedAt": "2023-12-01T14:30:25Z" } }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-put">PUT</span> <span class="endpoint">/api/rules/:id</span> </h3> <p>更新规则</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>id</code> - 规则ID</li> </ul> <h5>请求参数</h5> <ul> <li><code>name</code> (可选) - 规则名称</li> <li><code>description</code> (可选) - 规则描述</li> <li><code>content</code> (可选) - 规则内容</li> <li><code>type</code> (可选) - 规则类型</li> <li><code>priority</code> (可选) - 规则优先级</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/rules/rule-001', { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: "更新的命名规范", content: "所有类名使用PascalCase,变量和方法使用camelCase,常量使用UPPER_SNAKE_CASE", priority: "high" }) }) .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "success": true, "data": { "id": "rule-001", "name": "更新的命名规范", "description": "项目命名规范", "content": "所有类名使用PascalCase,变量和方法使用camelCase,常量使用UPPER_SNAKE_CASE", "type": "coding", "scope": "project", "projectId": "project-123", "priority": "high", "updatedAt": "2023-12-01T15:45:10Z" } }</code></pre> </div> </div> </div> <div class="api-method"> <h3> <span class="method-badge method-delete">DELETE</span> <span class="endpoint">/api/rules/:id</span> </h3> <p>删除规则</p> <div class="api-params"> <h5>路径参数</h5> <ul> <li><code>id</code> - 规则ID</li> </ul> </div> <div class="api-example"> <h5>请求示例</h5> <div class="code-example"> <pre><code class="language-javascript">fetch('/api/rules/rule-001', { method: 'DELETE' }) .then(response => response.json()) .then(data => console.log(data));</code></pre> </div> <h5>响应示例</h5> <div class="code-example"> <pre><code class="language-javascript">{ "success": true, "data": { "success": true, "message": "规则删除成功" } }</code></pre> </div> </div> </div> </section> <section id="mcp-api" class="mb-5"> <h2>MCP 工具接口</h2> <p>Memory Bank MCP 服务器提供了一套符合 Model Context Protocol 协议的工具接口,可被大模型直接调用。</p> </section> <section id="van-api" class="mb-5"> <h2>VAN 模式接口</h2> <p>VAN 模式接口用于项目验证与初始化,确保项目基础设施完备,验证关键文件存在性和完整性。</p> </section> </div> </div> </div> </div> </div> </div> <footer class="footer mt-auto py-3 bg-light"> <div class="container text-center"> <p class="mb-1">Memory Bank MCP Server &copy; 2023 版权所有</p> <p class="mb-0 text-muted">遵循MCP协议,为项目文档管理提供支持</p> </div> </footer> <script src="lib/bootstrap/bootstrap.bundle.min.js"></script> <script src="lib/highlight/highlight.min.js"></script> <script src="lib/highlight/javascript.min.js"></script> <script> document.addEventListener('DOMContentLoaded', () => { hljs.highlightAll(); // 平滑滚动 document.querySelectorAll('.list-group-item').forEach(link => { link.addEventListener('click', (e) => { e.preventDefault(); const targetId = link.getAttribute('href'); const targetElement = document.querySelector(targetId); window.scrollTo({ top: targetElement.offsetTop - 100, behavior: 'smooth' }); }); }); }); </script> </body> </html>

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/yywdandan/memory-bank-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server