aliyun-bailian-mcp-server
Version:
171 lines (135 loc) • 3.64 kB
Markdown
# 阿里云百炼 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