Tav 是一个用于实现模型上下文协议(Model Context Protocol)的服务器,该协议定义了如何借助语言模型与外部知识源和网络进行交互,能有效提升信息交互的效率和质量。
Tav 是一个用于实现模型上下文协议(Model Context Protocol)的服务器。当前实现版本为 v0.5.0
,支持从外部知识库搜索信息、领域过滤、网页内容摘要、生成引文格式报告以及直接返回网络搜索结果等功能。
支持多种知识库来源,可通过配置环境变量来选择不同的知识库:
# 配置 Wikipedia 搜索
TAV_KNOWLEDGE_SOURCES="wikipedia"
# 启用网络搜索功能
TAV_NETWORK=True
能够通过 URL 过滤指定领域内容,示例如下:
curl -X POST http://localhost:8000/api/v1/chat/completions \
-d '{"model": "tav", "messages": [{"role": "user", "content": "Tell me about quantum computing. Please exclude arXiv sources."}]}'
支持多种引用格式,方便生成不同类型的报告:
curl -X POST http://localhost:8000/api/v1/chat/completions \
-d '{"model": "tav", "messages": [{"role": "user", "content": "Write a report on AI ethics in markdown with MLA citations. Include arXiv sources only."}]}'
git clone git@github.com:modelcontextprotocol/mcp-tavily.git
cd mcp-tavily
python -m mcp_server_tavily
默认情况下,服务器将在端口 8000
上运行,并绑定到所有网络接口。你也可以通过以下命令指定不同的端口:
TAV_PORT=8080 python -m mcp_server_tavily
以下是常用的环境变量配置:
TAV_API_KEY
:用于身份验证的 API 密钥(必填)TAV_HOST
:服务器绑定的主机地址,默认为 0.0.0.0
TAV_PORT
:服务器运行的端口,默认为 8000
OPENAI_API_KEY
:OpenAI API 的密钥(可选,用于调用 GPT 模型)curl -X POST http://localhost:8000/api/v1/chat/completions \
-d '{"model": "tav", "messages": [{"role": "user", "content": "Summarize the latest advancements in quantum computing."}]}'
curl -X POST http://localhost:8000/api/v1/chat/completions \
-d '{"model": "tav", "messages": [{"role": "user", "content": "Search for recent breakthroughs in AI and return direct results."}]}'
项目提供了一个完整的测试套件,用于验证功能的正确性:
uv sync --dev
运行测试后,您将看到类似以下输出:
✓ Basic functionality test - 100ms
✓ Knowledge source integration - 200ms
✓ Citation formatting - 300ms
uv package --format docker:image --name tav-semantic-server .
docker run -it --rm -p 8000:8000 \
-e TAV_API_KEY=your_api_key \
tav-semantic-server
项目提供了一个调试界面,便于开发者进行调试:
uv debug .
访问 http://localhost:5173
即可查看实时日志和调试信息。
欢迎贡献代码!请遵循以下流程:
git checkout -b feature/your-feature
git add . && git commit -m "feat: your new feature"
git push origin feature/your-feature
本项目遵循 MIT 协议。请查看 LICENSE 文件获取详细信息。
如您有任何问题或建议,请联系: