{"_id":"@atas-npm/atas-mcp-server","_rev":"3-f51206bde0d60472ca69f6aa021fc523","name":"@atas-npm/atas-mcp-server","dist-tags":{"latest":"1.0.1"},"versions":{"0.3.13":{"name":"@atas-npm/atas-mcp-server","version":"0.3.13","keywords":["mcp","model-context-protocol","atas","ai","cursor"],"author":{"name":"ATAS Team"},"license":"MIT","_id":"@atas-npm/atas-mcp-server@0.3.13","maintainers":[{"name":"atas-npm","email":"tao.tao.119@163.com"}],"bin":{"atas-mcp":"dist/index.js"},"dist":{"shasum":"42ad22e33e89e4fbdf566206666084ba74455fbe","tarball":"https://registry.npmjs.org/@atas-npm/atas-mcp-server/-/atas-mcp-server-0.3.13.tgz","fileCount":127,"integrity":"sha512-G/UJRZ9bQtsVxiITmjeQVVZZA4OIgzDd9Ge+u4NSlqMPFGjR/UtxcInjhn0RP/vPvYDX7EhcNsf0F5ktRZSjHA==","signatures":[{"sig":"MEQCICmpzXBCIOypcHABJwTjSADOCYOlZAIDflXtHK2wBcbuAiA2B4cri0QUr6Y1irem4i6DnlqaIzEyPDq1CVU6QhEASw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377945},"main":"./dist/index.js","type":"module","_from":"file:atas-npm-atas-mcp-server-0.3.13.tgz","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx watch src/index.ts","build":"tsc","start":"node dist/index.js","dev:http":"tsx watch src/index.ts","dev:stdio":"tsx watch src/index.ts -- --stdio","start:http":"node dist/index.js","start:stdio":"node dist/index.js --stdio"},"_npmUser":{"name":"atas-npm","email":"tao.tao.119@163.com"},"_resolved":"/private/var/folders/y0/0f1j50qs4lb7f5l_vn09c705r01r64/T/ac93ca62487ea78843193d7d2e1736a3/atas-npm-atas-mcp-server-0.3.13.tgz","_integrity":"sha512-G/UJRZ9bQtsVxiITmjeQVVZZA4OIgzDd9Ge+u4NSlqMPFGjR/UtxcInjhn0RP/vPvYDX7EhcNsf0F5ktRZSjHA==","_npmVersion":"11.5.1","description":"ATAS MCP Server - Model Context Protocol server for ATAS project","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^4.1.13","hono":"^4.10.6","linkedom":"^0.18.12","fast-glob":"^3.3.3","@hono/node-server":"^1.19.6","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","typescript":"^5.8.3","@types/node":"^20.11.17"},"_npmOperationalInternal":{"tmp":"tmp/atas-mcp-server_0.3.13_1765443238169_0.6053775062790501","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@atas-npm/atas-mcp-server","version":"1.0.0","keywords":["mcp","model-context-protocol","atas","ai","cursor"],"author":{"name":"ATAS Team"},"license":"MIT","_id":"@atas-npm/atas-mcp-server@1.0.0","maintainers":[{"name":"atas-npm","email":"tao.tao.119@163.com"}],"bin":{"atas-mcp":"dist/index.js"},"dist":{"shasum":"f5315fc2d1b3427e0bda08dad8766c7e1971d3a2","tarball":"https://registry.npmjs.org/@atas-npm/atas-mcp-server/-/atas-mcp-server-1.0.0.tgz","fileCount":127,"integrity":"sha512-qlQEWufxXQyab3sjaZSfTcmf0NpgY8ptMpG2AAp3q6PcsmqIOrp3pYTBLq3Sj+33iXUsm2juGP3zTNV7RJ2XMw==","signatures":[{"sig":"MEUCIGCNIw9s6cFOFkYdkjpMMHi/J+zxObEsEO+7Imcjf2hTAiEAw0iNcNLbZ4jSCXqUFzjjQTCJuw7L9zFMAbS/i39jNnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377948},"main":"./dist/index.js","type":"module","_from":"file:atas-npm-atas-mcp-server-1.0.0.tgz","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx watch src/index.ts","build":"tsc","start":"node dist/index.js","dev:http":"tsx watch src/index.ts","dev:stdio":"tsx watch src/index.ts -- --stdio","start:http":"node dist/index.js","start:stdio":"node dist/index.js --stdio"},"_npmUser":{"name":"atas-npm","email":"tao.tao.119@163.com"},"_resolved":"/private/var/folders/y0/0f1j50qs4lb7f5l_vn09c705r01r64/T/a09b5132bebce832e0e5c8ca7ab534e2/atas-npm-atas-mcp-server-1.0.0.tgz","_integrity":"sha512-qlQEWufxXQyab3sjaZSfTcmf0NpgY8ptMpG2AAp3q6PcsmqIOrp3pYTBLq3Sj+33iXUsm2juGP3zTNV7RJ2XMw==","_npmVersion":"11.5.1","description":"ATAS MCP Server - Model Context Protocol server for ATAS project","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^4.1.13","hono":"^4.10.6","linkedom":"^0.18.12","fast-glob":"^3.3.3","@hono/node-server":"^1.19.6","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.1","typescript":"^5.8.3","@types/node":"^20.11.17"},"_npmOperationalInternal":{"tmp":"tmp/atas-mcp-server_1.0.0_1765443703419_0.7617226965122736","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@atas-npm/atas-mcp-server","publishConfig":{"access":"public"},"version":"1.0.1","description":"ATAS MCP Server - Model Context Protocol server for ATAS project","type":"module","main":"./dist/index.js","bin":{"atas-mcp":"dist/index.js"},"keywords":["mcp","model-context-protocol","atas","ai","cursor"],"author":{"name":"ATAS Team"},"license":"MIT","dependencies":{"@hono/node-server":"^1.19.6","@modelcontextprotocol/sdk":"^1.0.4","fast-glob":"^3.3.3","hono":"^4.10.6","linkedom":"^0.18.12","zod":"^4.1.13"},"devDependencies":{"@types/node":"^20.11.17","tsx":"^4.7.1","typescript":"^5.8.3"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"tsx watch src/index.ts","dev:http":"tsx watch src/index.ts","dev:stdio":"tsx watch src/index.ts -- --stdio","build":"tsc","start":"node dist/index.js","start:http":"node dist/index.js","start:stdio":"node dist/index.js --stdio"},"_id":"@atas-npm/atas-mcp-server@1.0.1","_integrity":"sha512-TRIKkm83H5PmT/xPG3mFISIl6mAFwo+RsqKPAO6vxecH8nDdp2o4GQaLHmP1vyT+/b1BlKqX+f06Zs6s3H8+Qg==","_resolved":"/private/var/folders/y0/0f1j50qs4lb7f5l_vn09c705r01r64/T/e578ca07819a66ed3ecc90b83e19ce91/atas-npm-atas-mcp-server-1.0.1.tgz","_from":"file:atas-npm-atas-mcp-server-1.0.1.tgz","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-TRIKkm83H5PmT/xPG3mFISIl6mAFwo+RsqKPAO6vxecH8nDdp2o4GQaLHmP1vyT+/b1BlKqX+f06Zs6s3H8+Qg==","shasum":"b4090d66989c24683ee645c217b67cd021663357","tarball":"https://registry.npmjs.org/@atas-npm/atas-mcp-server/-/atas-mcp-server-1.0.1.tgz","fileCount":126,"unpackedSize":378088,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH5rlBpiIcs+z6PPLhYKIKOsIJ4134furc8DlM577Y+HAiBmZt5JHnLp+Q1uOAnywcaawKV+AZG3+vdjgiWRuwMvGg=="}]},"_npmUser":{"name":"atas-npm","email":"tao.tao.119@163.com"},"directories":{},"maintainers":[{"name":"atas-npm","email":"tao.tao.119@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/atas-mcp-server_1.0.1_1765504157934_0.5843273102880444"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-11T08:53:58.104Z","modified":"2025-12-12T01:49:18.261Z","0.3.13":"2025-12-11T08:53:58.318Z","1.0.0":"2025-12-11T09:01:43.561Z","1.0.1":"2025-12-12T01:49:18.079Z"},"author":{"name":"ATAS Team"},"license":"MIT","keywords":["mcp","model-context-protocol","atas","ai","cursor"],"description":"ATAS MCP Server - Model Context Protocol server for ATAS project","maintainers":[{"name":"atas-npm","email":"tao.tao.119@163.com"}],"readme":"# ATAS OpenAPI MCP Server\n\nModel Context Protocol (MCP) 服务器，提供清晰的分层架构，支持 stdio 和 HTTP 两种传输方式，使用统一的入口点。\n\n## 🎯 项目特点\n\n- ✅ **统一入口**：单一 index.ts 入口，支持两种运行模式\n- ✅ **清晰的分层架构**：routes、tools、prompts、resources 分离\n- ✅ **TypeScript 类型安全**：完整的类型定义\n- ✅ **双传输模式**：同时支持 stdio（Cursor 集成）和 HTTP（测试调试）\n- ✅ **MCP 协议完整实现**：tools、prompts、resources 三大功能\n- ✅ **模块化设计**：每个功能独立文件，易于扩展\n- ✅ **开箱即用**：包含完整示例和文档\n- ✅ **NPM 发布**：支持通过 npx 直接使用\n\n## 📁 项目结构\n\n```\nsrc/\n├── index.ts                    # 统一入口点（根据参数选择模式）\n├── servers/                    # 服务器实现\n│   ├── stdio-server.ts        # stdio MCP 服务器（用于 Cursor）\n│   └── http-server.ts         # HTTP 服务器（用于测试调试）\n├── routes/                     # 路由层（HTTP 模式使用）\n│   ├── tools.ts               # Tools 路由\n│   ├── prompts.ts             # Prompts 路由\n│   └── resources.ts           # Resources 路由\n├── tools/                      # 工具层（两种模式共用）\n│   ├── greet.ts               # 问候工具\n│   └── project.ts             # 项目查询工具\n├── prompts/                    # 提示词层（两种模式共用）\n│   ├── codeReview.ts          # 代码审查提示词\n│   └── bugAnalysis.ts         # Bug 分析提示词\n└── resources/                  # 资源层（两种模式共用）\n    ├── projectDocs.ts         # 项目文档资源\n    └── apiSpec.ts             # API 规范资源\n```\n\n## 🚀 快速开始\n\n### 本地开发\n\n#### HTTP 模式（测试和调试）\n\n```bash\n# 安装依赖\npnpm install\n\n# 开发模式（默认端口 3000）\npnpm dev\n\n# 或显式指定\npnpm dev:http\n\n# 自定义端口\npnpm start -- --port=3001\n\n# 生产模式\npnpm build\npnpm start\n```\n\n服务器将在 http://localhost:3000 启动，可以通过浏览器或 curl 测试所有功能。\n\n#### stdio 模式（Cursor 集成）\n\n```bash\n# 开发模式\npnpm dev:stdio\n\n# 生产模式\npnpm build\npnpm start:stdio\n```\n\n### 通过 NPM 使用\n\n#### 安装和配置\n\n```bash\n# 配置私有 registry（如果使用私有 NPM）\nnpm login --registry=http://atas.atas.jpc1a.dcnw.rakuten/nexus/repository/npm-hosted\n\n# 或配置 .npmrc\necho \"@rakuten:registry=http://atas.atas.jpc1a.dcnw.rakuten/nexus/repository/npm-hosted\" >> ~/.npmrc\n```\n\n#### 使用 npx 运行\n\n```bash\n# stdio 模式（用于 Cursor/Claude Desktop）\nnpx @atas-npm/atas-mcp-server --stdio\n\n# HTTP 模式（用于测试）\nnpx @atas-npm/atas-mcp-server\nnpx @atas-npm/atas-mcp-server --port=3001\n```\n\n#### Cursor 配置\n\n编辑 `~/.cursor/mcp.json` 或项目配置文件：\n\n```json\n{\n  \"mcpServers\": {\n    \"atas-openapi\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"--registry=http://atas.atas.jpc1a.dcnw.rakuten/nexus/repository/npm-hosted\",\n        \"@atas-npm/atas-mcp-server\",\n        \"--stdio\"\n      ],\n      \"env\": {\n        \"ATAS_BASE_URL\": \"https://your-api-url.com\",\n        \"ATAS_API_TOKEN\": \"your-api-token\",\n        \"ATAS_PROJECT_ID\": \"your-project-id\"\n      }\n    }\n  }\n}\n```\n\n重启 Cursor 即可使用！\n\n详见 [USAGE.md](./USAGE.md) 了解更多使用方法。\n\n## 📚 使用文档\n\n- **[使用指南](./USAGE.md)** - 完整的使用说明（本地 & NPM）\n- **[快速入门](./QUICKSTART.md)** - 5 分钟上手指南\n- **[Cursor 配置](./CURSOR_SETUP.md)** - 详细的 Cursor 集成说明\n- **[发布指南](./PUBLISH_GUIDE.md)** - NPM 包发布说明\n- **[API 文档](#api-端点)** - HTTP API 使用说明\n\n## 🔧 MCP 功能\n\n### Tools（工具）\n\n可执行的操作，类似于函数调用。\n\n- **greet** - 向用户问候，支持中英文\n- **project** - 通过 ID 查询项目信息\n\n### Prompts（提示词）\n\n预定义的结构化文本模板，用于生成 AI 对话。\n\n- **code-review** - 生成代码审查提示词\n- **bug-analysis** - 生成 Bug 分析提示词\n\n### Resources（资源）\n\n可访问的数据或文档，提供上下文信息。\n\n- **atas://docs/project** - 项目开发文档（Markdown）\n- **atas://specs/openapi** - API 规范文档（JSON）\n\n## 📡 API 端点\n\n### Tools\n\n```bash\n# 获取所有工具\nGET http://localhost:3000/mcp/tools\n\n# 执行问候工具\nPOST http://localhost:3000/mcp/tools/greet\nContent-Type: application/json\n\n{\n  \"name\": \"张三\",\n  \"language\": \"zh\"\n}\n\n# 查询项目\nPOST http://localhost:3000/mcp/tools/project\nContent-Type: application/json\n\n{\n  \"baseUrl\": \"https://api.example.com\",\n  \"apiToken\": \"your-token\",\n  \"projectId\": \"proj-001\"\n}\n```\n\n### Prompts\n\n```bash\n# 获取所有提示词\nGET http://localhost:3000/mcp/prompts\n\n# 生成代码审查提示词\nPOST http://localhost:3000/mcp/prompts/code-review\nContent-Type: application/json\n\n{\n  \"code\": \"function add(a, b) { return a + b; }\",\n  \"language\": \"javascript\",\n  \"focus\": [\"quality\", \"security\"]\n}\n\n# 生成 Bug 分析提示词\nPOST http://localhost:3000/mcp/prompts/bug-analysis\nContent-Type: application/json\n\n{\n  \"errorMessage\": \"TypeError: Cannot read property 'name' of undefined\",\n  \"code\": \"const user = getUser(); console.log(user.name);\",\n  \"context\": \"发生在用户登录后\"\n}\n```\n\n### Resources\n\n```bash\n# 获取所有资源\nGET http://localhost:3000/mcp/resources\n\n# 获取项目文档\nGET http://localhost:3000/mcp/resources/project-docs\n\n# 获取 API 规范\nGET http://localhost:3000/mcp/resources/api-spec\n```\n\n## 🧪 测试\n\n### 测试 HTTP 服务器\n\n```bash\n# 启动服务器\npnpm dev\n\n# 在另一个终端测试\ncurl http://localhost:3000\ncurl http://localhost:3000/mcp/tools\n```\n\n### 测试 stdio 服务器\n\n```bash\nnode test-mcp.js\n```\n\n## 🛠️ 开发指南\n\n本项目采用 **Glob 自动加载机制**，添加新功能**只需创建文件**！\n\n### 添加新的 Tool\n\n**唯一步骤**：在 `src/tools/` 创建新文件 `myTool.ts`\n\n```typescript\nexport const myTool = {\n  name: 'my-tool',\n  description: '工具描述',\n  inputSchema: { /* JSON Schema */ },\n  async execute(input: MyInput): Promise<MyOutput> {\n    // 实现逻辑\n  }\n}\n```\n\n**完成！** 重新构建后，工具会自动被发现和注册。\n\n### 添加新的 Prompt / Resource\n\n流程相同：只需在对应文件夹创建文件即可！\n\n**详细指南**：查看 [ADDING_FEATURES.md](./ADDING_FEATURES.md)\n\n### Glob 自动加载的优势\n\n- ✅ **零配置**：创建文件即可使用\n- ✅ **自动发现**：启动时自动扫描并导入\n- ✅ **自动注册**：在 stdio 和 HTTP 模式下自动注册\n- ✅ **自动路由**：HTTP 端点自动生成\n- ✅ **真正的即插即用**：添加功能只需 1 步\n\n**技术详解**：查看 [GLOB_AUTO_LOADING.md](./GLOB_AUTO_LOADING.md)\n\n## 📦 依赖\n\n- **@hono/node-server** - Hono 的 Node.js 适配器\n- **hono** - 轻量级 Web 框架\n- **@modelcontextprotocol/sdk** - MCP 官方 SDK\n\n## 🔍 故障排查\n\n### Cursor 集成问题\n\n请查看 [CURSOR_SETUP.md](./CURSOR_SETUP.md) 的故障排查部分。\n\n### HTTP 服务器问题\n\n```bash\n# 检查端口是否被占用\nlsof -i :3000\n\n# 查看完整日志\npnpm dev\n```\n\n## 📝 脚本命令\n\n```bash\n# 开发模式\npnpm dev            # 启动 HTTP 模式（默认，端口 3000）\npnpm dev:http       # 显式启动 HTTP 模式\npnpm dev:stdio      # 启动 stdio 模式\n\n# 生产模式\npnpm build          # 构建项目\npnpm start          # 启动 HTTP 模式（默认）\npnpm start:http     # 显式启动 HTTP 模式\npnpm start:stdio    # 启动 stdio 模式\n\n# 发布\n./publish.sh        # 交互式发布到 NPM\n```\n\n## 🎮 运行模式\n\n本项目支持两种运行模式，通过统一入口 `index.ts` 控制：\n\n### 1. stdio 模式（生产推荐）\n- **用途**：Cursor/Claude Desktop 集成\n- **启动**：`node dist/index.js --stdio` 或设置 `MODE=stdio`\n- **特点**：通过 stdin/stdout 通信，符合 MCP 协议\n\n### 2. HTTP 模式（开发调试）\n- **用途**：测试和调试\n- **启动**：`node dist/index.js` 或 `node dist/index.js --port=3001`\n- **特点**：提供 REST API，可用浏览器/curl 测试\n\n**切换方式**：\n```bash\n# 方式 1：命令行参数\nnode dist/index.js --stdio          # stdio 模式\nnode dist/index.js --port=3001      # HTTP 模式（自定义端口）\n\n# 方式 2：环境变量\nMODE=stdio node dist/index.js       # stdio 模式\nMODE=http node dist/index.js        # HTTP 模式\n```\n\n## 🤝 贡献\n\n欢迎提交 Issue 和 Pull Request！\n\n## 📄 许可证\n\nMIT\n\n---\n\n## 🔗 相关资源\n\n- [MCP 官方文档](https://modelcontextprotocol.io)\n- [Hono 文档](https://hono.dev)\n- [快速入门指南](./QUICKSTART.md)\n- [Cursor 配置指南](./CURSOR_SETUP.md)\n","readmeFilename":"README.md"}