探索MCP服务器的简单MCP客户端  ](https://pypi.org/project/mcp-chat/)
从命令行快速测试和探索MCP服务器!
一个简单的、基于文本的CLI客户端 模型上下文协议(MCP) 使用LangChain和Python构建的服务器。\ 适用于测试MCP服务器、探索其功能和原型集成。
内部使用 朗链代理 和 效用函数 convert_mcp_to_langchain_tools() 从 langchain_mcp_tools.
与此实用程序等效的TypeScript是可用的 这里
先决条件
- Python 3.11+
- \[可选\]
uv(uvx)
已安装以运行基于Python包的MCP服务器
- \[可选\]
运行基于Node.js包的MCP服务器
- 来自的LLM API密钥
开放人工智能, Anthropic, 谷歌人工智能工作室(GenAI/Gemini), xAI, 思睿博, 和 Groq, 根据需要
快速开始
- 安装
mcp-chat工具。
这可能需要几分钟才能完成:
pip install mcp-chat- 通过配置文件配置LLM和MCP服务器设置,
llm_mcp_config.json5
code llm_mcp_config.json5以下是快速测试的简单配置:
{
"llm": {
"provider": "openai", "model": "gpt-5-mini"
// "provider": "anthropic", "model": "claude-haiku-4-5"
// "provider": "google_genai", "model": "gemini-2.5-flash"
// "provider": "xai", "model": "grok-4-1-fast-non-reasoning"
// "provider": "cerebras", "model": "gpt-oss-120b"
// "provider": "groq", "model": "openai/gpt-oss-20b"
},
"mcp_servers": {
"us-weather": { // US weather only
"command": "npx",
"args": ["-y", "@h1deya/mcp-server-weather"]
},
},
"example_queries": [
"Tell me how LLMs work in a few sentences",
"Are there any weather alerts in California?",
],
}- 设置API密钥
echo "ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-proj-...
GOOGLE_API_KEY=AI...
XAI_API_KEY=xai-...
CEREBRAS_API_KEY=csk-...
GROQ_API_KEY=gsk_..." > .env
code .env- 运行该工具
mcp-chat默认情况下它读取配置文件, llm_mcp_config.json5,从当前目录。\ 然后,它应用在 .env 文件, 以及已经定义的那些。
特性
- 简易设置:与流行的MCP服务器开箱即用
- 灵活配置:支持环境变量的JSON5配置
- 多个LLM/neneneba API提供程序:OpenAI、Anthropic、谷歌(GenAI)、xAI、Ceberas、Groq
- 命令和URL服务器:支持本地和远程MCP服务器
- 本地MCP服务器日志记录:使用可自定义的日志目录保存stdio MCP服务器日志
- 交互式测试:示例查询,便于重复测试
局限性
- 工具返回类型:目前,只支持工具调用的文本结果。
它使用LangChain的 response_format: 'content' (默认)内部,仅支持文本字符串。 虽然MCP工具可以返回多种内容类型(文本、图像等),但此库目前仅过滤和使用文本内容。
- MCP功能:仅MCP 工具 支持。其他MCP功能,如资源、提示和采样,尚未实现。
用法
基本用法
mcp-chat默认情况下它读取配置文件, llm_mcp_config.json5,从当前目录。\ 然后,它应用在 .env 文件, 以及已经定义的那些。\ 它将本地MCP服务器日志输出到当前目录。
带选项
# Specify the config file to use
mcp-chat --config my-config.json5
# Store local (stdio) MCP server logs in specific directory
mcp-chat --log-dir ./logs
# Enable verbose logging
mcp-chat --verbose
# Show help
mcp-chat --help支持的模型/API提供程序
- 开放人工智能:
gpt-5-mini,gpt-5.2等等。 - Anthropic:
claude-haiku-4-5,claude-3-5-haiku-latest等等。 - 谷歌(GenAI):
gemini-2.5-flash,gemini-3-flash-preview等等。 - xAI:
grok-3-mini,grok-4-1-fast-non-reasoning等等。 - 思睿博:
gpt-oss-120b等等。 - Groq:
openai/gpt-oss-20b,openai/gpt-oss-120b等等。
配置
创建一个 llm_mcp_config.json5 文件:
MCP服务器的结构与 Claude桌面版, 只有一个区别:键名 mcpServers 已更改 到 mcp_servers 遵循蛇案惯例 通常用于JSON配置文件。
- 文件格式为 JSON5,
其中允许注释和尾随逗号。
- 格式进一步扩展以替换
${...}符号
以及相应环境变量的值。
- 将所有凭据和私人信息保存在
.env文件
并参考他们 ${...} 根据需要添加符号
{
"llm": {
"provider": "openai", "model": "gpt-5-mini"
// "provider": "anthropic", "model": "claude-haiku-4-5"
// "provider": "google_genai", "model": "gemini-2.5-flash"
// "provider": "xai", "model": "grok-4-1-fast-non-reasoning"
// "provider": "cerebras", "model": "gpt-oss-120b"
// "provider": "groq", "model": "openai/gpt-oss-20b"
},
"example_queries": [
"Read and briefly summarize the LICENSE file in the current directory",
"Fetch the raw HTML content from bbc.com and tell me the titile",
// "Search for 'news in California' and show the first hit",
// "Tell me about my default GitHub profile",
// "Tell me about my default Notion account",
],
"mcp_servers": {
// Local MCP server that uses `npx`
// https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"." // path to a directory to allow access to
]
},
// Local MCP server that uses `uvx`
// https://pypi.org/project/mcp-server-fetch/
"fetch": {
"command": "uvx",
"args": [
"mcp-server-fetch"
]
},
// Embedding the value of an environment variable
// https://www.npmjs.com/package/@modelcontextprotocol/server-brave-search
"brave-search": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-brave-search"
],
"env": {
"BRAVE_API_KEY": "${BRAVE_API_KEY}"
}
},
// Example of remote MCP server authentication via Authorization header
// https://github.com/github/github-mcp-server?tab=readme-ov-file#remote-github-mcp-server
"github": {
// To avoid auto protocol fallback, specify the protocol explicitly when using authentication
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer ${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
},
// For remote MCP servers that require OAuth, consider using "mcp-remote"
"notion": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.notion.com/mcp"],
},
}
}环境变量
创建一个 .env API密钥的文件:
OPENAI_API_KEY=sk-ant-...
ANTHROPIC_API_KEY=sk-proj-...
GOOGLE_API_KEY=AI...
XAI_API_KEY=xai-...
CEREBRAS_API_KEY=csk-...
GROQ_API_KEY=gsk_...
# Other services as needed
GITHUB_PERSONAL_ACCESS_TOKEN=github_pat_...
BRAVE_API_KEY=BSA...要尝试的流行MCP服务器
已经有很多有用的MCP服务器可用:
故障排除
- 请确保您的配置和.env文件是正确的,尤其是API键的拼写
- 检查本地MCP服务器日志
- 使用
--verbose标记以查看详细日志 - 参见 MCP文档中的调试部分
从源头构建
看 README_DEV.md 了解详情。
变更日志
可以找到 这里
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
贡献
问题和拉取请求欢迎!此工具旨在使MCP服务器测试尽可能简单。
