关于 portkey-mcp-server
portkey-mcp-server 是连接 AI 工具与 Portkey 的 MCP 服务,面向需要通过 MCP 使用 Portkey 的用户。它提供提示词创建、渲染和列表查询工具,并支持 stdio 与 SSE 传输。
主要功能
- 01创建提示词
- 02渲染提示词
- 03列出提示词
- 04支持 stdio 与 SSE 传输
适用场景
- 01在 MCP 客户端中创建 Portkey 提示词
- 02渲染提示词以供后续使用
- 03查询可用的提示词
MCP 相关
该服务通过 MCP 向客户端提供 Portkey 提示词管理工具,包括创建、渲染和列表查询。支持 stdio 与 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
portkey-mcp-server
Portkey 的 Model Context Protocol(MCP)服务实现。此应用通过 Model Context Protocol,为连接各种 AI 工具和服务与 Portkey 提供桥梁。
目录
支持的 MCP 功能
工具
安装
快速开始: 若要立即与 AI 工具集成,请直接跳转到 搭配 Cursor IDE 使用 或 搭配 Claude Desktop 使用 部分。这些部分提供了可直接使用的各工具配置说明。
Docker
最简单的入门方式是使用 Docker Hub 上预构建的 Docker 镜像:
# Run the container with the latest image (PORTKEY_API_KEY is required)
docker run -p 8080:8080 \
-e TRANSPORT=sse \
-e TRANSPORT_SSE_ADDRESS=:8080 \
-e PORTKEY_API_KEY=your-api-key \
ericmccaleb/portkey-mcp-server:latest
你也可以使用 Make 目标在本地构建并运行:
# Clone the repository
git clone https://github.com/rvoh-emccaleb/portkey-mcp-server.git
cd portkey-mcp-server
# Build the Docker image locally (optional)
make docker-build
# Run the container (PORTKEY_API_KEY is required)
make docker-run PORTKEY_API_KEY=your-api-key
# Run with additional non-default settings
make docker-run PORT=9000 TRANSPORT=sse PORTKEY_API_KEY=your-api-key
你也可以直接使用 Docker 命令:
# From repo root
# Build the Docker image
docker build --build-arg APP_VERSION=$(git rev-parse --short HEAD) -t portkey-mcp-server .
# Run in SSE mode (HTTP server)
docker run -p 8080:8080 \
-e TRANSPORT=sse \
-e TRANSPORT_SSE_ADDRESS=:8080 \
-e PORTKEY_API_KEY=your-api-key \
portkey-mcp-server
二进制文件
构建独立二进制文件:
# From repo root
make build
此操作会在根目录中创建名为 portkey-mcp-server 的二进制文件,你可以直接执行该文件。
运行二进制文件时,需要提供必需的环境变量:
# From repo root
# Run in SSE mode (HTTP server)
PORTKEY_API_KEY=your-api-key \
TRANSPORT=sse \
TRANSPORT_SSE_ADDRESS=:8080 \
./portkey-mcp-server
# Run in stdio mode
PORTKEY_API_KEY=your-api-key \
TRANSPORT=stdio \
./portkey-mcp-server
从源代码构建
使用 Go 工具直接运行应用:
# From repo root
go run -ldflags="-X main.appVersion=$(git rev-parse --short HEAD)" cmd/portkey-mcp-server/main.go
配置
服务支持不同的传输配置:
- 用于命令行界面的
stdio(标准输入/输出)传输 - 用于基于 HTTP 的通信的
sse(服务器发送事件)传输
配置通过启动时加载的环境变量进行处理。.env.example 可供参考,但始终以 config package 为准。
如果要在 Docker 之外运行,可根据 config package 预期的变量创建 .env 文件来配置应用。对于 Docker,环境变量应通过其他方式设置。
使用
搭配 Cursor IDE 使用
在主目录中(用于全局配置)或仓库根目录中(用于项目级配置)创建 .cursor/mcp.json 文件。
使用 stdio 模式
使用 Docker(通过 Docker Hub 镜像):
{
"mcpServers": {
"Portkey": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "PORTKEY_API_KEY",
"-e", "TRANSPORT",
"ericmccaleb/portkey-mcp-server:latest"
],
"env": {
"PORTKEY_API_KEY": "your-api-key",
"TRANSPORT": "stdio"
}
}
}
}
或使用二进制文件:
{
"mcpServers": {
"Portkey": {
"command": "/path/to/portkey-mcp-server-binary",
"env": {
"PORTKEY_API_KEY": "your-api-key",
"TRANSPORT": "stdio"
}
}
}
}
使用 SSE 模式
如果服务已在本地或其他位置运行:
{
"mcpServers": {
"Portkey": {
"url": "http://localhost:8080/sse"
}
}
}
搭配 Claude Desktop 使用
Claude Desktop 仅支持 stdio 模式。在以下位置创建 claude_desktop_config.json 文件:
- macOS:
~/Library/Application Support/Claude/ - Windows:
%APPDATA%\Claude\
使用 Docker(通过 Docker Hub 镜像):
{
"mcpServers": {
"Portkey": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "PORTKEY_API_KEY",
"-e", "TRANSPORT",
"ericmccaleb/portkey-mcp-server:latest"
],
"env": {
"PORTKEY_API_KEY": "your-api-key",
"TRANSPORT": "stdio"
}
}
}
}
或使用二进制文件:
{
"mcpServers": {
"Portkey": {
"command": "/path/to/portkey-mcp-server-binary",
"env": {
"PORTKEY_API_KEY": "your-api-key",
"TRANSPORT": "stdio"
}
}
}
}
手动发送 SSE 请求
以 SSE 模式运行时,你可以通过 HTTP 请求访问服务。按照 MCP 协议操作需要执行以下步骤:
# 1. First establish the SSE connection to get a session
curl http://localhost:8080/sse
# This will return something like:
# event: endpoint
# data: /message?sessionId=abc123
# 2. Initialize the session (using the URL from #1, above)
curl -X POST "http://localhost:8080/message?sessionId=abc123" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": "1",
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"clientInfo": {
"name": "curl-client",
"version": "1.0.0"
},
"capabilities": {}
}
}'
# 3. Now you can make tool calls
curl -X POST "http://localhost:8080/message?sessionId=abc123" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": "2",
"method": "call_tool",
"params": {
"name": "prompt_render",
"arguments": {
"prompt_id": "your_prompt_id",
"variables": {
"your_prompt_variable": "some_value"
}
}
}
}'
注意:步骤 1 中的 SSE 连接必须在整个会话期间保持打开状态。请在单独的终端窗口中运行,并在会话结束前不要关闭。
贡献
欢迎贡献!请参阅我们的贡献指南,了解如何开始。
许可证
此项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。