mcpField
P
portkey-mcp-server

portkey-mcp-server

本地服务
github.com/rvoh-emccalebAI 与智能体278 周前更新

关于 portkey-mcp-server

portkey-mcp-server 是连接 AI 工具与 Portkey 的 MCP 服务,面向需要通过 MCP 使用 Portkey 的用户。它提供提示词创建、渲染和列表查询工具,并支持 stdio 与 SSE 传输。

主要功能

  1. 01创建提示词
  2. 02渲染提示词
  3. 03列出提示词
  4. 04支持 stdio 与 SSE 传输

适用场景

  1. 01在 MCP 客户端中创建 Portkey 提示词
  2. 02渲染提示词以供后续使用
  3. 03查询可用的提示词

MCP 相关

该服务通过 MCP 向客户端提供 Portkey 提示词管理工具,包括创建、渲染和列表查询。支持 stdio 与 SSE 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"portkey": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"\\"
]
}
}
}
启动命令docker run -i --rm '\'

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
oci\

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。