# mcp-server **Repository Path**: godY/mcp-server ## Basic Information - **Project Name**: mcp-server - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-13 - **Last Updated**: 2026-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 校园安防助手 MCP 服务器 这是一个基于 Node.js 的 MCP (Model Context Protocol) 服务器,提供校园区域查询、街道查询和警告数量查询功能。 本项目使用官方 `@modelcontextprotocol/sdk` 构建,符合标准 MCP 协议规范。 ## 目录 - [功能特性](#功能特性) - [安装使用](#安装使用) - [全局安装](#全局安装) - [直接使用 npx 运行](#直接使用-npx-运行) - [启动服务器](#启动服务器) - [调用工具](#调用工具) - [示例请求与响应](#示例请求与响应) - [测试](#测试) - [前置条件](#前置条件) - [运行测试](#运行测试) - [开发指南](#开发指南) - [安装依赖](#安装依赖-1) - [编译项目](#编译项目) - [开发模式启动](#开发模式启动) - [生产模式启动](#生产模式启动) - [代码检查](#代码检查) - [发布包](#发布包) - [项目结构](#项目结构) - [技术栈](#技术栈) - [未来规划](#未来规划) - [许可证](#许可证) ## 功能特性 - **区域查询**: 返回所有学校区域名称(东、西、南、北) - **街道查询**: 返回所有学校街道名称(共 9 条街道) - **警告数量查询**: 根据时间、区域和街道参数查询警告数量 - **Mock 数据**: 使用模拟数据进行测试,预留真实 API 接口 ## 安装使用 ### 全局安装 ```bash npm install -g campus-security-mcp ``` ### 直接使用 npx 运行 ```bash npx campus-security-mcp ``` ### 启动服务器 ```bash # 全局安装后 campus-security-mcp ``` ### Trae 配置 在 [Trae](https://www.trae.ai) 中添加 MCP 服务器,按以下步骤操作: 1. 打开 Trae → 点击右侧 AI 侧栏(或快捷键 `Cmd/Ctrl + L`) 2. 点击右上角 **齿轮设置图标** → 选择 **MCP** 3. 点击 **手动配置** 或 **添加更多工具** 4. 粘贴以下配置: ```json { "mcpServers": { "campus-security-mcp": { "command": "npx", "args": ["-y", "campus-security-mcp"] } } } ``` 配置成功后,即可在 Trae 的智能体中使用校园安防助手工具。 ### Trae中使用mcp 在 Trae 的智能体中,您可以通过以下自然语言提问来使用校园安防助手工具: #### 1. 区域查询 **提问**:查询学校有哪些区域 #### 2. 街道查询 **提问**:学校有哪些街道?春晖路在哪个区域? #### 3. 警告数量查询 **提问**:查询东区春晖路在最近7天之间有多少警告?按日期和街道统计一下 Trae 会自动识别这些问题并调用相应的 MCP 工具,返回查询结果。 ### 调用工具 服务器启动后,会监听标准输入,处理 JSON 格式的请求,并返回响应。 #### 示例请求与响应 1. **区域查询** **自然语言提问**:查询学校有哪些区域 **请求**: ```json { "jsonrpc": "2.0", "id": "1", "method": "tools/call", "params": { "name": "campus_security_get_areas", "arguments": {} } } ``` **响应**: ```json { "result": { "content": [ { "type": "text", "text": "学校区域列表:东、西、南、北" } ] }, "jsonrpc": "2.0", "id": "1" } ``` 2. **街道查询** **自然语言提问**:学校有哪些街道?春晖路在哪个区域? **请求**: ```json { "jsonrpc": "2.0", "id": "2", "method": "tools/call", "params": { "name": "campus_security_get_streets", "arguments": {} } } ``` **响应**: ```json { "result": { "content": [ { "type": "text", "text": "学校街道列表:春晖路、洋房路、经一路、经二路、经三路、经四路、八里庄街道、紫竹院街道、北新桥街道" } ] }, "jsonrpc": "2.0", "id": "2" } ``` 3. **警告数量查询** **自然语言提问**:查询东区春晖路在2026年4月6日到4月12日之间有多少警告?按日期和街道统计一下。 **请求**: ```json { "jsonrpc": "2.0", "id": "3", "method": "tools/call", "params": { "name": "campus_security_get_warnings", "arguments": { "startDate": "2026-04-06", "endDate": "2026-04-12", "area": "东", "street": "春晖路" } } } ``` **响应**: ```json { "result": { "content": [ { "type": "text", "text": "警告查询结果:\n总警告数:14\n\n按日期统计:\n2026-04-07: 3个\n2026-04-08: 1个\n2026-04-09: 5个\n2026-04-10: 1个\n2026-04-11: 1个\n2026-04-12: 3个\n\n按区域统计:\n东区: 14个\n\n按街道统计:\n春晖路: 14个\n" } ], "structuredContent": { "totalCount": 14, "dailyData": [ {"date": "2026-04-07", "count": 3}, {"date": "2026-04-08", "count": 1}, {"date": "2026-04-09", "count": 5}, {"date": "2026-04-10", "count": 1}, {"date": "2026-04-11", "count": 1}, {"date": "2026-04-12", "count": 3} ], "areaBreakdown": [{"area": "东", "count": 14}], "streetBreakdown": [{"street": "春晖路", "count": 14}] } }, "jsonrpc": "2.0", "id": "3" } ``` ## 测试 ### 前置条件 运行测试前需要先安装项目依赖: ```bash npm install ``` ### 运行测试 ```bash npm test ``` ## 开发指南 ### 安装依赖 ```bash npm install ``` ### 编译项目 ```bash npm run build ``` ### 开发模式启动 ```bash npm run dev ``` ### 生产模式启动 ```bash npm start ``` ### 代码检查 ```bash npm run lint ``` ### 发布包 ```bash npm run publish ``` ## 项目结构 ``` campus-security-mcp/ ├── dist/ # 构建输出目录(包含可执行文件) ├── src/ │ ├── data/ # 数据相关文件 │ │ ├── mockData.ts # 模拟数据 │ │ └── types.ts # 类型定义 │ ├── utils/ # 工具函数 │ │ └── dateUtils.ts # 日期工具函数 │ └── index.ts # 服务器入口(主程序) ├── package.json # 包配置信息 ├── README.md # 使用说明 ├── test.js # 测试脚本 └── tsconfig.json # TypeScript 配置 ``` ## 技术栈 - TypeScript 5.5.4 - Node.js 18+ - @modelcontextprotocol/sdk 1.29.0 - Zod 3.25.76 - tsx 4.16.5 ## 未来规划 - 接入真实 API 接口 - 添加更多校园安防相关工具 - 优化数据生成策略 - 提高服务性能和可靠性 ## 许可证 MIT 许可证