MCP 服务器
连接 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 会:
- 使用配置的传输连接服务器
- 查询服务器提供的工具
- 以带前缀的名称(例如
exa_search、github_list_repos)提供这些工具
使用以下命令查看已连接的工具:
> /tools -v
刷新连接#
如果服务器的工具发生变化或需要重新连接:
> /source reload <source-name>
此命令会重新建立 MCP 连接并刷新可用工具。
故障排除#
服务器无法连接
- 验证 URL 是否正确且可访问(针对 HTTP 传输)
- 检查命令是否存在且在 PATH 中(针对 stdio 传输)
- 检查服务器是否需要认证
- 确保网络允许连接
- 直接在浏览器中访问该 URL(针对 HTTP)
工具未显示
- 点击侧边栏的来源查看其状态
- 重启 xiantong 以重新加载连接
- 验证配置语法是否正确
- 检查服务器日志中的错误
认证错误
- 确认 API 密钥或令牌是否正确
- 检查密钥是否具有所需权限
- 某些服务器需要特定权限范围,查看其文档
- 验证
authType是否与服务器要求一致
Stdio 服务器无法启动
- 验证命令是否存在:
which npx或which node - 检查参数是否正确
- 尝试在终端中手动运行命令查看错误
- 确保所需依赖已安装
最佳实践#
使用描述性名称
选择能描述用途的来源名称:web-search、github-repo、company-wiki,而不是 server1、server2。
添加有用的标语
包含说明服务器功能的标语——这样在浏览可用来源时更清晰。
有图标时加入
设置 icon 以便在 UI 中更容易识别来源。你可以使用 URL、表情符号,或者在来源文件夹中放置 icon.svg 或 icon.png 文件。
限制每个工作区的来源数量
只连接工作区所需的来源。过多工具会增加响应延迟并让模型难以决定使用哪一个。
下一步#
配置认证#
了解有关 MCP 服务器的 OAuth、Bearer 令牌和公开认证的内容。