xiantong 文档

连接 MCP 服务器

将 MCP 服务器连接作为来源

将 MCP 服务器连接作为来源添加

只需询问你的 Agent 即可。 连接 MCP 服务器最简单的方法就是告诉你的 Agent 你需要什么:

  • “连接 Exa 搜索 MCP 服务器”
  • “将我的本地文件系统添加到此工作区”
  • “为我的数据库设置 SQLite MCP 服务器”

Agent 会自动处理配置和认证。

本指南演示如何将 MCP 服务器作为来源连接,以便让你的 xiantong 访问外部工具和服务。

来源配置架构#

MCP 服务器使用标准化的来源配置:

{
"type": "mcp",
"name": "Server Name",
"tagline": "Description of the server",
"icon": "https://example.com/icon.png",
"mcp": {
"transport": "http",
"url": "https://mcp-server.example.com",
"authType": "oauth"
}
}

远程服务器(HTTP/SSE)#

对于可通过网络访问的 MCP 服务器,使用 HTTP 传输:

{
"type": "mcp",
"name": "Exa Search",
"tagline": "Neural search and content extraction",
"icon": "https://exa.ai/favicon.ico",
"mcp": {
"transport": "http",
"url": "https://mcp.exa.ai",
"authType": "bearer"
}
}

HTTP 传输会根据服务器提供的内容自动支持可流式 HTTP 与服务端推送事件(SSE)协议。

本地服务器(Stdio)#

对于在本机运行的 MCP 服务器,使用 stdio 传输:

{
"type": "mcp",
"name": "Local MCP",
"tagline": "MCP Description",
"mcp": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@package/name", "/Users/me/projects"]
}
}

常见本地服务器模式#

NPX 包:

{
"type": "mcp",
"name": "SQLite",
"tagline": "Query SQLite databases",
"mcp": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "/path/to/database.db"]
}
}

Node.js 脚本:

{
"type": "mcp",
"name": "Custom Server",
"tagline": "Custom MCP server",
"mcp": {
"transport": "stdio",
"command": "node",
"args": ["/path/to/my-mcp-server.js"]
}
}

Python 脚本:

{
"type": "mcp",
"name": "Python MCP",
"tagline": "Python-based MCP server",
"mcp": {
"transport": "stdio",
"command": "python",
"args": ["/path/to/mcp_server.py"]
}
}

二进制可执行文件:

{
"type": "mcp",
"name": "Binary Server",
"tagline": "Compiled MCP server",
"mcp": {
"transport": "stdio",
"command": "/usr/local/bin/my-mcp-server"
}
}

多个服务器#

你可以在工作区中配置多个 MCP 来源。每个来源会让其工具以来源名称为前缀的形式可用:

使用 exa_search 查找文章...
使用 github_list_issues 获取未关闭的问题...

服务器发现#

当你连接 MCP 来源时,xiantong 会:

  1. 使用配置的传输连接服务器
  2. 查询服务器提供的工具
  3. 以带前缀的名称(例如 exa_searchgithub_list_repos)提供这些工具

使用以下命令查看已连接的工具:

> /tools -v

刷新连接#

如果服务器的工具发生变化或需要重新连接:

> /source reload <source-name>

此命令会重新建立 MCP 连接并刷新可用工具。

故障排除#

服务器无法连接

  • 验证 URL 是否正确且可访问(针对 HTTP 传输)
  • 检查命令是否存在且在 PATH 中(针对 stdio 传输)
  • 检查服务器是否需要认证
  • 确保网络允许连接
  • 直接在浏览器中访问该 URL(针对 HTTP)

工具未显示

  • 点击侧边栏的来源查看其状态
  • 重启 xiantong 以重新加载连接
  • 验证配置语法是否正确
  • 检查服务器日志中的错误

认证错误

  • 确认 API 密钥或令牌是否正确
  • 检查密钥是否具有所需权限
  • 某些服务器需要特定权限范围,查看其文档
  • 验证 authType 是否与服务器要求一致

Stdio 服务器无法启动

  • 验证命令是否存在:which npxwhich node
  • 检查参数是否正确
  • 尝试在终端中手动运行命令查看错误
  • 确保所需依赖已安装

最佳实践#

使用描述性名称

选择能描述用途的来源名称:web-searchgithub-repocompany-wiki,而不是 server1server2

添加有用的标语

包含说明服务器功能的标语——这样在浏览可用来源时更清晰。

有图标时加入

设置 icon 以便在 UI 中更容易识别来源。你可以使用 URL、表情符号,或者在来源文件夹中放置 icon.svgicon.png 文件。

限制每个工作区的来源数量

只连接工作区所需的来源。过多工具会增加响应延迟并让模型难以决定使用哪一个。

下一步#

配置认证#

了解有关 MCP 服务器的 OAuth、Bearer 令牌和公开认证的内容。