AI代理连接服务器

Brightsy MCP Server是一个连接Brightsy AI代理的模型上下文协议服务器,支持自定义工具名称和环境变量配置。

  • by mattlevine
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 mattlevine/brightsy-mcp

使用说明

Brightsy MCP服务器

这是一个连接到Brightsy AI代理的模型上下文协议(MCP)服务器。

安装

npm install

用法

要启动服务器,请执行以下操作:

npm start -- --agent-id=<your-agent-id> --api-key=<your-api-key>

或者使用位置参数:

npm start -- <your-agent-id> <your-api-key> [tool-name] [message]

您还可以提供要发送给代理的初始消息:

npm start -- --agent-id=<your-agent-id> --api-key=<your-api-key> --message="Hello, agent!"

自定义工具名称

默认情况下,MCP服务器注册一个名为“brightsy”的工具。您可以使用自定义此名称 --tool-name 参数:

npm start -- --agent-id=<your-agent-id> --api-key=<your-api-key> --tool-name=<custom-tool-name>

您还可以将工具名称设置为第三个位置参数:

npm start -- <your-agent-id> <your-api-key> <custom-tool-name>

或使用 BRIGHTSY_TOOL_NAME 环境变量:

export BRIGHTSY_TOOL_NAME=custom-tool-name
npm start -- --agent-id=<your-agent-id> --api-key=<your-api-key>

环境变量

以下环境变量可用于配置服务器:

  • BRIGHTSY_AGENT_ID:要使用的代理ID(命令行参数的替代)
  • BRIGHTSY_API_KEY:要使用的API键(命令行参数的替代项)
  • BRIGHTSY_TOOL_NAME:要注册的工具名称(默认值:“brightsy”)

测试agent_proxy工具

agent_proxy工具允许您将请求代理给Brightsy AI代理。要测试此工具,您可以使用提供的测试脚本。

先决条件

在运行测试之前,请设置以下环境变量:

export AGENT_ID=your-agent-id
export API_KEY=your-api-key
# Optional: customize the tool name for testing
export TOOL_NAME=custom-tool-name

或者,您可以将这些值作为命令行参数传递:

# Using named arguments
npm run test:cli -- --agent-id=your-agent-id --api-key=your-api-key --tool-name=custom-tool-name

# Using positional arguments
npm run test:cli -- your-agent-id your-api-key custom-tool-name

运行测试

要运行所有测试,请执行以下操作:

npm test

要运行特定测试,请执行以下操作:

# Test using the command line interface
npm run test:cli

# Test using the direct MCP protocol
npm run test:direct

测试脚本

  1. 命令行测试 (test-agent-proxy.ts):通过运行带有测试消息的MCP服务器来测试agent_proxy工具。

  2. 直接MCP协议测试 (test-direct.ts):通过直接向服务器发送格式正确的MCP请求来测试agent_proxy工具。

工具的工作原理

MCP服务器注册了一个工具(默认名为“brightsy”),该工具将请求转发给与OpenAI兼容的AI代理并返回响应。这需要一个 messages 参数,它是一个消息对象数组,具有 role 和 content 物业。

MCP客户端中的示例用法:

// Using the default tool name
const response = await client.callTool("brightsy", {
  messages: [
    {
      role: "user",
      content: "Hello, can you help me with a simple task?"
    }
  ]
});

// Or using a custom tool name if configured
const response = await client.callTool("custom-tool-name", {
  messages: [
    {
      role: "user",
      content: "Hello, can you help me with a simple task?"
    }
  ]
});

响应将包含代理在 content 现场。