README
🚀 Tav 语义上下文协议服务器
Tav 是一个用于实现模型上下文协议(Model Context Protocol)的服务器,该协议定义了如何借助语言模型与外部知识源和网络进行交互,能有效提升信息交互的效率和质量。
🚀 快速开始
Tav 是一个用于实现模型上下文协议(Model Context Protocol)的服务器。当前实现版本为 v0.5.0,支持从外部知识库搜索信息、领域过滤、网页内容摘要、生成引文格式报告以及直接返回网络搜索结果等功能。
✨ 主要特性
1. 知识库集成
支持多种知识库来源,可通过配置环境变量来选择不同的知识库:
# 配置 Wikipedia 搜索
TAV_KNOWLEDGE_SOURCES="wikipedia"
# 启用网络搜索功能
TAV_NETWORK=True
2. 领域过滤
能够通过 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."}]}'
3. 报告生成
支持多种引用格式,方便生成不同类型的报告:
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.0TAV_PORT:服务器运行的端口,默认为8000OPENAI_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
Docker 部署
构建镜像
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 - 创建 Pull Request
📄 许可证
本项目遵循 MIT 协议。请查看 LICENSE 文件获取详细信息。
👋 联系我们
如您有任何问题或建议,请联系:
- 邮箱:contact@modelcontextprotocol.org
- GitHub 仓库:https://github.com/modelcontextprotocol/mcp-tavly
Scan to contact