UNPKG

aliyun-bailian-mcp-server

Version:
171 lines (135 loc) 3.64 kB
# 阿里云百炼 MCP Server 基于阿里云百炼API的MCP(Model Context Protocol)服务器,可部署在阿里云函数计算上。 ## 功能特点 - 符合MCP(Model Context Protocol)协议规范 - 支持阿里云百炼通义千问API调用 - 支持文本对话和多模态(图像)对话 - 支持阿里云函数计算部署 - 支持会话管理和自动清理 - 低延迟、高可用、可扩展 ## 环境要求 - Node.js 16+ - 阿里云账号 - 阿里云百炼API-KEY - 阿里云函数计算服务 ## 目录结构 ``` mcp/ ├── lib/ # 库文件 │ ├── bailian-client.js # 百炼API客户端 │ └── mcp-server.js # MCP服务器核心 ├── bin/ # 可执行文件 │ └── cli.js # CLI入口 ├── server/ # 本地服务器 │ └── index.js # Express服务器入口 ├── index.js # 函数计算入口 ├── fc-config.yml # 函数计算配置 ├── package.json # 项目依赖 └── .env.example # 环境变量示例 ``` ## 快速开始 ### 本地开发 1. 克隆项目并安装依赖: ```bash git clone <repository-url> cd mcp npm install ``` 2. 配置环境变量,创建一个`.env`文件: ``` API_KEY=your_api_key_here APP_ID=your_app_id_here BAILIAN_API_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 PORT=8080 ``` 3. 启动服务: ```bash npm start ``` 服务将在 http://localhost:8080 上运行。 ## 部署到阿里云函数计算 ### 方法一:使用NPX直接部署(推荐) 1. 发布npm包: ```bash npm publish # 发布到npm公共仓库 # 或者发布到私有仓库 npm publish --registry=<私有仓库URL> ``` 2. 在阿里云百炼管理控制台中使用以下MCP服务配置: ```json { "mcpServers": { "bailian-mcp": { "command": "npx", "args": ["-y", "bailian-mcp-server"], "env": { "API_KEY": "your_api_key_here", "APP_ID": "your_app_id_here" } } } } ``` ### 方法二:使用函数计算控制台部署 1. 打包项目: ```bash zip -r bailian-mcp.zip . ``` 2. 登录阿里云函数计算控制台 3. 创建服务和函数 4. 上传代码包 5. 配置环境变量: - API_KEY - APP_ID - BAILIAN_API_BASE_URL (可选) ## API接口 ### GET /tool/list 返回所有可用工具列表。 **响应示例**: ```json { "tools": [ { "name": "chat_with_qwen", "description": "与通义千问大模型对话,可解答各种问题,执行创作、分析等任务", "input_schema": {...} }, { "name": "image_understanding", "description": "解析图像内容,对图片进行分析、识别或描述", "input_schema": {...} } ] } ``` ### POST /tool/call 调用指定的工具。 **请求体**: ```json { "sessionId": "可选会话ID", "toolName": "chat_with_qwen", "parameters": { "message": "你好,请介绍一下自己", "model": "qwen-plus" } } ``` **响应示例**: ```json { "response": "你好!我是通义千问,一个由阿里云研发的大型语言模型...", "model": "qwen-plus", "session_id": "xxx-xxx-xxx" } ``` ## 配置项 | 环境变量 | 描述 | 默认值 | |---------|------|-------| | API_KEY | 阿里云百炼API密钥 | 无(必填) | | APP_ID | 阿里云百炼应用ID | 无(可选) | | BAILIAN_API_BASE_URL | API基础URL | https://dashscope.aliyuncs.com/compatible-mode/v1 | | PORT | 本地服务端口 | 8080 | | HOST | 本地服务主机 | 0.0.0.0 | ## 许可证 MIT