TinyFish Guided Research

io.github.MohdSalehPublished by GitHub account MohdSalehv1.0.0Updated Oct 27, 2026

Auditable deep-research MCP server powered by TinyFish Search and Fetch.

The publisher's own server: TinyFish AI Web Agent

Overview

AI-generated overview

An auditable deep-research MCP server that runs a guided search-and-fetch workflow on TinyFish, tracking sources, claims, evidence and citations across steps.

What you can do
  • Run a multi-step research workflow: plan, search, screen sources and fetch content via TinyFish
  • Track research state across steps, including claims, evidence, conflicting evidence and gaps
  • Check quotes against fetched content and verify citations before finalizing
  • Deduplicate sources that appear through different URLs or mirrors
  • Enforce research budgets and stopping conditions
  • Persist state in SQLite locally or PostgreSQL for shared or hosted use
When to use it
Useful when an assistant needs a structured, auditable research process rather than ad-hoc searching: multi-step investigations where sources, claims and citations must be tracked and checked, and where the client model does the reasoning while the server keeps the state.
Requirements
Local process via the PyPI package (Python 3.11+ and uv/uvx), or the hosted Streamable HTTP endpoint. A TinyFish API key in TINYFISH_API_KEY is required. Optional RESEARCH_DB_PATH for SQLite state, or DATABASE_URL for PostgreSQL in multi-instance deployments.
Before you install
TINYFISH_API_KEY is a required secret and is sent to TinyFish for Search and Fetch. DATABASE_URL is a secret connection string containing database credentials. Research state is written to a local SQLite file or a PostgreSQL database, so choose the storage location deliberately. Search and fetch requests go to a third-party service.

Installation

In SourceWeft

  1. Open TinyFish Guided Research in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

TinyFish Guided Research MCP

An MCP server that adds a simple research workflow on top of TinyFish Search and Fetch.

The client model does the reasoning. The server keeps track of the research run, handles the search and fetch flow, stores the state, checks evidence and citations, and tells the client what should happen next.

There is no LLM running inside the server.

How it works

A research run usually follows this flow:

text
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

Search results are treated as candidates first, not as evidence by default.

The server also keeps duplicate sources from being counted more than once. This includes cases where the same paper or source appears through different URLs or mirrors.

Quotes are checked against the fetched source content, while semantic decisions such as whether a passage actually supports a claim are left to the client model.

Conflicting evidence is kept in the research state instead of being ignored, and citations are checked before the research is finalized.

What it handles

  • Research state across multiple steps
  • TinyFish Search and Fetch calls
  • Source screening and duplicate handling
  • Claim and evidence tracking
  • Quote checks against fetched content
  • Conflicting evidence
  • Research gaps and follow-up searches
  • Citation verification
  • Research budgets and stopping conditions
  • SQLite and PostgreSQL persistence

Quick start

Hosted

The hosted MCP endpoint is:

text
https://tinyfish-guided-research-mcp.fastmcp.app/mcp

Use it as a Streamable HTTP MCP server.

Local

Requires Python 3.11+ and a TinyFish API key.

bash
TINYFISH_API_KEY="your-api-key" uvx tinyfish-guided-research-mcp

Example MCP client config:

json
{  "mcpServers": {    "tinyfish-research": {      "command": "uvx",      "args": ["tinyfish-guided-research-mcp"],      "env": {        "TINYFISH_API_KEY": "your-api-key"      }    }  }}

The compatibility entrypoint is also available:

bash
uvx --from tinyfish-guided-research-mcp tinyfish-research-mcp

Storage

SQLite is fine for local or single-instance use:

bash
export RESEARCH_DB_PATH="research_state.db"

For hosted or multi-instance deployments, use PostgreSQL:

bash
export DATABASE_URL="postgresql://user:password@host:5432/database?sslmode=require"

PostgreSQL is the better option when more than one server instance can access the same research state.

Distribution

The server is available through PyPI, the official MCP Registry, and the hosted Horizon endpoint.

PyPI:

text
tinyfish-guided-research-mcp

MCP Registry:

text
io.github.MohdSaleh/tinyfish-guided-research

Hosted MCP:

text
https://tinyfish-guided-research-mcp.fastmcp.app/mcp

Development

Clone the repo and install the dependencies:

bash
git clone https://github.com/MohdSaleh/tinyfish-guided-research-mcp.gitcd tinyfish-guided-research-mcpuv sync --all-extras

Run it locally:

bash
TINYFISH_API_KEY="your-api-key" uv run tinyfish-guided-research-mcp

Run the checks:

bash
uv run ruff check .uv run ruff format --check .uv run pyrightuv run pytestuv run python evals/run_evals.pyuv run pip-audituv build

The regular tests cover the implementation and storage layer. The research evals cover cases such as duplicate sources, weak evidence, quote mismatches, superseded claims, and citation coverage.

You can also inspect the MCP tools with:

bash
npx @modelcontextprotocol/inspector \  --cli uv run tinyfish-guided-research-mcp \  --method tools/list

Deploying on Horizon

If you want to deploy your own instance with Prefect Horizon, use:

text
Entrypoint:src/tinyfish_research_mcp/server.py:mcp
Dependencies:pyproject.toml

Set:

text
TINYFISH_API_KEYDATABASE_URL

Use PostgreSQL for hosted deployments instead of the local SQLite fallback.

License

MIT

Source: README.md at commit cbb1511

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Tinyfish integrations