# 腾讯出行服务MCP接入指南
# 目录
# 1 CodeBuddy 平台接入 MCP 服务
# 1.1 获取腾讯出行服务 MCP key
进入腾讯出行服务开放平台:https://open.go.qq.com/ → 点击「注册」按钮

使用微信扫码/一键登录进入注册页面

填写手机号并获取验证码

点击开启服务之旅

选择「MCP 应用」→ 填写应用名称 → 选择联系人,完成应用创建

创建完成后,前往「应用详情」查看 KEY 值

# 1.2 在 CodeBuddy 中配置 MCP Tools
打开 CodeBuddy,点击顶部菜单栏「设置」→「MCP」,在 MCP 中点击「Add MCP」

在打开的 settings.json 文件中填入以下配置内容,替换 YOUR_API_KEY 为实际密钥,点击「保存」
{
"mcpServers": {
"tms-mcp": {
"url": "https://weixin.go.qq.com/mcp/gw-stream-http/mcp",
"headers":{
"Authorization": "YOUR_API_KEY"
},
"transportType": "streamable-http"
}
}
}

保存后回到设置页面中,此时服务状态应显示为「已连接」,并显示可用的mcp工具

# 1.3 开始使用
关闭MCP配置,打开 Agent 对话框,切换模式为Craft
接下来就可以直接在对话框中输入需求,让 AI 为我们调用工具了,例如:
"从武汉大学到汉口火车站打车多少钱"

# 2 Cursor 平台接入 MCP 服务
# 2.1 获取腾讯出行服务 MCP key
进入腾讯出行服务开放平台:https://open.go.qq.com/ → 点击「注册」按钮

使用微信扫码/一键登录进入注册页面

填写手机号并获取验证码

点击开启服务之旅

选择「MCP 应用」→ 填写应用名称 → 选择联系人,完成应用创建

创建完成后,前往「应用详情」查看 KEY 值

# 2.2 在 Cursor 中配置 MCP Tools
打开 Cursor,点击顶部菜单栏「设置」→「Tools & MCP」,在 MCP Tools 中点击「Add Custom MCP」 或者 「New MCP Server」

在打开的 mcp.json 文件中填入以下配置内容,替换 YOUR_API_KEY 为实际密钥,点击「保存」
{
"mcpServers": {
"tms-mcp": {
"url": "https://weixin.go.qq.com/mcp/gw-stream-http/mcp",
"headers":{
"Authorization": "YOUR_API_KEY"
},
"transportType": "streamable-http"
}
}
}

回到设置页面中,此时服务状态应显示为「已连接」,并显示可用的mcp工具

# 2.3 开始使用
按下 CTRL/CMD + L 打开右侧 Agent 对话框

接下来就可以直接在对话框中输入需求,让 AI 为我们调用工具了,例如: "从武汉大学到汉口火车站打车多少钱"

# 3. Trae 平台接入 MCP 服务
# 3.1 获取 MCP key
进入腾讯出行服务开放平台:https://open.go.qq.com/ →点击「注册」按钮
使用微信扫码/一键登录进入注册页面

填写手机号并获取验证码
点击开启服务之旅
选择「MCP 应用」→ 填写应用名称 → 选择联系人,完成应用创建
创建完成后,前往「应用详情」查看 KEY 值

# 3.2 配置 MCP
打开 Trae,使用 CTRL/CMD + U 打开右侧对话框,点击「设置」→「MCP」→ 「手动添加」进行添加
在打开的手动配置页面中填入以下 JSON 信息,替换 YOUR_API_KEY 为实际密钥,点击「确认」
{
"mcpServers": {
"tms-mcp": {
"url": "https://weixin.go.qq.com/mcp/gw-stream-http/mcp",
"headers":{
"Authorization": "YOUR_API_KEY"
},
"transportType": "streamable-http"
}
}
}
配置成功后,可以在设置页面查看已添加的 MCP
回到对话框中 ,选择「Builder with MCP」

# 3.3 开始使用
接下来就可以直接在对话框中输入需求,让 AI 为我们调用工具了,例如:
"从武汉大学到汉口火车站打车多少钱"

# 4. 个人代码接入 MCP 服务
# 4.1 获取 MCP key
进入腾讯出行服务开放平台:https://open.go.qq.com/ →点击「注册」按钮

使用微信扫码/一键登录进入注册页面
填写手机号并获取验证码
点击开启服务之旅

选择「MCP 应用」→ 填写应用名称 → 选择联系人,完成应用创建

创建完成后,前往「应用详情」查看 KEY 值

# 4.2 开始使用: go语言demo
根据个人开发者的实际使用情况,可以支持sse协议和streamhttp协议 对应的 go.mod文件:
module mcp-simple-demo
go 1.21
require github.com/mark3labs/mcp-go v0.43.1
安装依赖:
go mod tidy
替换配置
将 YOUR_API_KEY 替换为实际的API密钥
demo示例:
package main
import (
"context"
"fmt"
"log"
"time"
"github.com/mark3labs/mcp-go/client"
"github.com/mark3labs/mcp-go/client/transport"
"github.com/mark3labs/mcp-go/mcp"
)
func main() {
ctx := context.Background()
// 1、测试SSE传输
fmt.Println("=== 测试SSE传输 ===")
err := testSSE(ctx)
if err != nil {
log.Fatalf("测试SSE传输失败: %v", err)
}
// 2、测试StreamHTTP
fmt.Println("\n=== 测试StreamHTTP ===")
err = testStreamHTTP(ctx)
if err != nil {
log.Fatalf("测试StreamHTTP失败: %v", err)
}
}
// testSSE 测试SSE传输
func testSSE(ctx context.Context) error {
// 1、创建SSE传输
sseTransport, err := transport.NewSSE(
"https://weixin.go.qq.com/mcp/gw-sse/sse",
transport.WithHeaders(map[string]string{
"Authorization": "YOUR_API_KEY",
"Content-Type": "application/json",
}),
)
if err != nil {
return fmt.Errorf("创建SSE传输失败: %v", err)
}
// 2、启动传输,start接口是无限时长的
if err = sseTransport.Start(ctx); err != nil {
return fmt.Errorf("启动SSE传输失败: %v", err)
}
defer sseTransport.Close()
// 3、创建客户端
mcpClient := client.NewClient(sseTransport)
defer mcpClient.Close()
// 4、初始化客户端
initRequest := mcp.InitializeRequest{
Params: mcp.InitializeParams{
ProtocolVersion: mcp.LATEST_PROTOCOL_VERSION,
ClientInfo: mcp.Implementation{
Name: "MCP Client",
Version: "1.0.0",
},
},
}
initCtx, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()
_, err = mcpClient.Initialize(initCtx, initRequest)
if err != nil {
return fmt.Errorf("初始化失败: %v", err)
}
fmt.Println("✅ 客户端初始化成功")
// 5、列出工具列表
toolsCtx, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()
toolsRequest := mcp.ListToolsRequest{}
result, err := mcpClient.ListTools(toolsCtx, toolsRequest)
if err != nil {
return fmt.Errorf("获取工具列表失败: %v", err)
}
fmt.Printf("✅ 获取到 %d 个工具:\n", len(result.Tools))
for i, tool := range result.Tools {
fmt.Printf("%d. %s: %s\n", i+1, tool.Name, tool.Description)
}
return nil
}
// testStreamHTTP 测试StreamHTTP传输
func testStreamHTTP(ctx context.Context) error {
// 1、创建StreamHTTP传输
httpTransport, err := transport.NewStreamableHTTP(
"https://weixin.go.qq.com/mcp/gw-stream-http/mcp",
transport.WithHTTPHeaders(map[string]string{
"Authorization": "YOUR_API_KEY",
"Content-Type": "application/json",
}),
)
if err != nil {
return fmt.Errorf("创建StreamHTTP传输失败: %v", err)
}
// 2、启动传输
startCtx, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()
if err := httpTransport.Start(startCtx); err != nil {
return fmt.Errorf("启动StreamHTTP传输失败: %v", err)
}
defer httpTransport.Close()
// 3、创建客户端
mcpClient := client.NewClient(httpTransport)
defer mcpClient.Close()
// 4、初始化客户端
initRequest := mcp.InitializeRequest{
Params: mcp.InitializeParams{
ProtocolVersion: mcp.LATEST_PROTOCOL_VERSION,
ClientInfo: mcp.Implementation{
Name: "MCP Client",
Version: "1.0.0",
},
},
}
initCtx, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()
_, err = mcpClient.Initialize(initCtx, initRequest)
if err != nil {
return fmt.Errorf("初始化失败: %v", err)
}
fmt.Println("✅ 客户端初始化成功")
// 5、列出工具列表
toolsCtx, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()
toolsRequest := mcp.ListToolsRequest{}
result, err := mcpClient.ListTools(toolsCtx, toolsRequest)
if err != nil {
return fmt.Errorf("获取工具列表失败: %v", err)
}
fmt.Printf("✅ 获取到 %d 个工具:\n", len(result.Tools))
for i, tool := range result.Tools {
fmt.Printf("%d. %s: %s\n", i+1, tool.Name, tool.Description)
}
return nil
}