关于 TinyFish Guided Research
TinyFish Guided Research 是基于 TinyFish Search 和 Fetch 的 MCP 研究服务,供客户端模型执行多步骤研究。它管理研究状态、核验引用与证据,并将语义判断留给客户端模型。
主要功能
- 01跨步骤保存研究状态
- 02调用 TinyFish Search 和 Fetch
- 03筛查来源并处理重复项
- 04跟踪主张与证据
- 05核对引文和原文摘录
- 06保留冲突证据并管理研究预算
适用场景
- 01开展多步骤资料研究
- 02检查引文是否对应来源
- 03识别证据不足并发起后续搜索
MCP 相关
作为 MCP 服务,它向客户端提供研究工作流工具,并支持 Streamable HTTP 托管端点。服务不运行 LLM;推理由客户端模型完成。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx tinyfish-guided-research-mcpTINYFISH_API_KEY密钥TinyFish API key used by Search and Fetch.DATABASE_URL密钥Shared PostgreSQL connection URL for durable production state. Recommended for remote/multi-replica hosting.RESEARCH_DB_PATHSQLite persistence path used when DATABASE_URL is unset. Intended for local/single-instance usage.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
20收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
TinyFish Guided Research MCP
一个在 TinyFish Search 和 Fetch 之上提供简单研究工作流的 MCP 服务。
客户端模型负责推理。服务端会跟踪研究过程、处理搜索和抓取流程、存储状态、检查证据和引文,并告知客户端接下来该做什么。
服务端内部不运行 LLM。
工作原理
研究过程通常遵循以下流程:
Research request
↓
Plan
↓
Search
↓
Review sources
↓
Fetch useful content
↓
Track claims and evidence
↓
Check what is supported or still missing
↓
Research the gaps
↓
Verify citations
↓
Finalize
搜索结果首先被视为候选项,而非默认视为证据。
服务端还会避免重复来源被重复计数。这包括同一篇论文或来源通过不同 URL 或镜像出现的情况。
引文会与抓取到的来源内容进行核对,而某段内容是否确实支持某项主张等语义判断则交由客户端模型处理。
相互矛盾的证据会保留在研究状态中,而不是被忽略;研究定稿前还会检查引文。
处理内容
- 跨多个步骤的研究状态
- TinyFish Search 和 Fetch 调用
- 来源筛选和重复项处理
- 主张和证据跟踪
- 根据抓取到的内容核对引文
- 相互矛盾的证据
- 研究空白和后续搜索
- 引文验证
- 研究预算和停止条件
- SQLite 和 PostgreSQL 持久化
快速开始
托管版
托管 MCP 端点:
https://tinyfish-guided-research-mcp.fastmcp.app/mcp
将其作为 Streamable HTTP MCP 服务使用。
本地版
需要 Python 3.11+ 和 TinyFish API 密钥。
TINYFISH_API_KEY="your-api-key" uvx tinyfish-guided-research-mcp
MCP 客户端配置示例:
{
"mcpServers": {
"tinyfish-research": {
"command": "uvx",
"args": ["tinyfish-guided-research-mcp"],
"env": {
"TINYFISH_API_KEY": "your-api-key"
}
}
}
}
也提供兼容用的入口点:
uvx --from tinyfish-guided-research-mcp tinyfish-research-mcp
存储
本地或单实例使用时,SQLite 已足够:
export RESEARCH_DB_PATH="research_state.db"
对于托管或多实例部署,请使用 PostgreSQL:
export DATABASE_URL="postgresql://user:password@host:5432/database?sslmode=require"
如果多个服务实例都可能访问相同的研究状态,PostgreSQL 是更好的选择。
分发
该服务可通过 PyPI、官方 MCP Registry 和托管的 Horizon 端点获取。
PyPI:
tinyfish-guided-research-mcp
MCP Registry:
io.github.MohdSaleh/tinyfish-guided-research
托管 MCP:
https://tinyfish-guided-research-mcp.fastmcp.app/mcp
开发
克隆仓库并安装依赖项:
git clone https://github.com/MohdSaleh/tinyfish-guided-research-mcp.git
cd tinyfish-guided-research-mcp
uv sync --all-extras
在本地运行:
TINYFISH_API_KEY="your-api-key" uv run tinyfish-guided-research-mcp
运行检查:
uv run ruff check .
uv run ruff format --check .
uv run pyright
uv run pytest
uv run python evals/run_evals.py
uv run pip-audit
uv build
常规测试覆盖实现和存储层。研究评估涵盖重复来源、薄弱证据、引文不匹配、已被取代的主张以及引文覆盖率等情况。
你也可以通过以下命令查看 MCP 工具:
npx @modelcontextprotocol/inspector \
--cli uv run tinyfish-guided-research-mcp \
--method tools/list
在 Horizon 上部署
如果你想使用 Prefect Horizon 部署自己的实例,请使用:
Entrypoint:
src/tinyfish_research_mcp/server.py:mcp
Dependencies:
pyproject.toml
设置:
TINYFISH_API_KEY
DATABASE_URL
托管部署请使用 PostgreSQL,而不是本地 SQLite 回退方案。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。