Skip to main content
ClaudeWave
MohdSaleh avatar
MohdSaleh

tinyfish-guided-research-mcp

View on GitHub

A latency-conscious, auditable research orchestration mcp built on TinyFish Search + Fetch. The server contains NO LLM. The calling client LLM performs semantic reasoning in small bounded steps; the MCP owns state, retrieval, IDs, protocol transitions, evidence integrity, citation checks, and deterministic quality gates.

MCP ServersOfficial Registry0 stars0 forksPythonMITUpdated today
ClaudeWave Trust Score
87/100
Trusted
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Documented (README)
Last scanned: 9/16/2026
Install in Claude Code / Claude Desktop
Method: UVX (Python) · tinyfish-guided-research-mcp
Claude Code CLI
claude mcp add tinyfish-guided-research-mcp -- uvx tinyfish-guided-research-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "tinyfish-guided-research-mcp": {
      "command": "uvx",
      "args": ["tinyfish-guided-research-mcp"],
      "env": {
        "TINYFISH_API_KEY": "<tinyfish_api_key>",
        "DATABASE_URL": "<database_url>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Detected environment variables
TINYFISH_API_KEYDATABASE_URL
Use cases

MCP Servers overview

# TinyFish Guided Research MCP

<!-- mcp-name: io.github.MohdSaleh/tinyfish-guided-research -->

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.git
cd tinyfish-guided-research-mcp
uv 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 pyright
uv run pytest
uv run python evals/run_evals.py
uv run pip-audit
uv 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_KEY
DATABASE_URL
```

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

## License

MIT

What people ask about tinyfish-guided-research-mcp

What is MohdSaleh/tinyfish-guided-research-mcp?

+

MohdSaleh/tinyfish-guided-research-mcp is mcp servers for the Claude AI ecosystem. A latency-conscious, auditable research orchestration mcp built on TinyFish Search + Fetch. The server contains NO LLM. The calling client LLM performs semantic reasoning in small bounded steps; the MCP owns state, retrieval, IDs, protocol transitions, evidence integrity, citation checks, and deterministic quality gates. It has 0 GitHub stars and its last recorded update is dated 2026-09-15.

How do I install tinyfish-guided-research-mcp?

+

You can install tinyfish-guided-research-mcp by cloning the repository (https://github.com/MohdSaleh/tinyfish-guided-research-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is MohdSaleh/tinyfish-guided-research-mcp safe to use?

+

Our security agent has analyzed MohdSaleh/tinyfish-guided-research-mcp and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.

Who maintains MohdSaleh/tinyfish-guided-research-mcp?

+

MohdSaleh/tinyfish-guided-research-mcp is maintained by MohdSaleh. The last recorded GitHub activity is dated 2026-09-15, with 0 open issues.

Are there alternatives to tinyfish-guided-research-mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy tinyfish-guided-research-mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: MohdSaleh/tinyfish-guided-research-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/mohdsaleh-tinyfish-guided-research-mcp)](https://claudewave.com/repo/mohdsaleh-tinyfish-guided-research-mcp)
<a href="https://claudewave.com/repo/mohdsaleh-tinyfish-guided-research-mcp"><img src="https://claudewave.com/api/badge/mohdsaleh-tinyfish-guided-research-mcp" alt="Featured on ClaudeWave: MohdSaleh/tinyfish-guided-research-mcp" width="320" height="64" /></a>