使用说明
MCP服务器
MCP服务器是使用Quarkus构建的OpenAI API的代理服务。它将请求转发到OpenAI的API,同时添加身份验证并注入系统提示。
特性
- 代理请求OpenAI的聊天完成API
- 通过API密钥添加身份验证
- 自动向所有请求注入系统提示
- 使用Quarkus构建,可实现快速启动和低内存使用率
建筑
该应用程序由以下组件组成:
- MCP控制器:处理传入请求并将其转发给OpenAI
- OpenAI客户端:用于与OpenAI的API通信的接口
- ApiKeyFilter:验证传入请求的API密钥
- 聊天请求:聊天完成请求的数据模型
先决条件
- Java 17或更高版本
- Maven 3.8.1或更高版本
- Docker(可选,用于容器化部署)
设置和安装
地方发展
-
克隆存储库:
git clone https://github.com/hamidkhanjani/mcp-server.git cd mcp-server -
在中配置您的OpenAI API密钥
src/main/resources/application.properties:openai.api.key=Bearer sk-your-openai-api-key -
构建应用程序:
./mvnw clean package -
在开发模式下运行应用程序:
./mvnw quarkus:dev
生产部署
-
构建应用程序:
./mvnw clean package -
运行应用程序:
java -jar target/quarkus-app/quarkus-run.jar
Docker部署
-
构建Docker镜像:
docker build -t mcp-server . -
运行容器:
docker run -p 8080:8080 -e OPENAI_API_KEY="Bearer sk-your-openai-api-key" mcp-server
用法
认证
对MCP服务器的所有请求都需要使用API密钥进行身份验证。在中包含API密钥 Authorization 头球
Authorization: Bearer my-secret-key
提出请求
向发送POST请求 /v1/chat/completions 带有JSON正文的端点:
curl -X POST \
http://localhost:8080/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer my-secret-key' \
-d '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
],
"temperature": 0.7,
"max_tokens": 150
}'
在将请求转发到OpenAI之前,服务器将在消息数组的开头自动注入一个系统提示(“你是一个有用的助手。”)。
配置
应用程序可以通过以下方式配置 application.properties 文件:
# OpenAI API URL
quarkus.rest-client.openai-client.url=https://api.openai.com
# OpenAI API Key (replace with your actual API key)
openai.api.key=Bearer sk-your-openai-api-key
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
贡献
欢迎投稿!请随时提交拉取请求。