TinyFish Guided Research
PYPI · TINYFISH-GUIDED-RESEARCH-MCP · SCANNED SEP 20
Auditable deep-research MCP server powered by TinyFish Search and Fetch.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 1 of 34 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 4 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability75
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1262 tokens (~63/item across 20 items; 20 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "dispatch_parallel_subagents" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the TinyFish Guided Research MCP server?
TinyFish Guided Research runs locally as a PyPI package, launched with uvx tinyfish-guided-research-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · tinyfish-guided-research-mcp
claude mcp add mohdsaleh-tinyfish-guided-research -- uvx tinyfish-guided-research-mcp
{
"mcpServers": {
"mohdsaleh-tinyfish-guided-research": {
"command": "uvx",
"args": [
"tinyfish-guided-research-mcp"
]
}
}
} {
"servers": {
"mohdsaleh-tinyfish-guided-research": {
"command": "uvx",
"args": [
"tinyfish-guided-research-mcp"
]
}
}
} codex mcp add mohdsaleh-tinyfish-guided-research -- uvx tinyfish-guided-research-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mohdsaleh-tinyfish-guided-research": {
"type": "local",
"command": [
"uvx",
"tinyfish-guided-research-mcp"
],
"enabled": true
}
}
} openclaw mcp add mohdsaleh-tinyfish-guided-research --command uvx --arg tinyfish-guided-research-mcp
mcp_servers:
mohdsaleh-tinyfish-guided-research:
command: "uvx"
args: ["tinyfish-guided-research-mcp"] {
"McpServers": {
"mohdsaleh-tinyfish-guided-research": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"tinyfish-guided-research-mcp"
]
}
}
} assistant mcp add mohdsaleh-tinyfish-guided-research -t stdio -c uvx -a tinyfish-guided-research-mcp
{
"mcpServers": {
"mohdsaleh-tinyfish-guided-research": {
"command": "uvx",
"args": [
"tinyfish-guided-research-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 15 Sept 26 52
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/tinyfish-guided-research-mcp@1.0.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 34 packages
| Packages resolved | 34 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
assess_claims ~29
Compute deterministic claim resolution and return a complete next-step packet.
| Name | Type | Req | Description |
|---|---|---|---|
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
bind_evidence ~82
Bind direct source quotations to existing claims and verify quote presence. This tool does NOT accept semantic stance. Keeping quote binding separate from entailment judgment gives weak client models one bounded operation at a time and prevents a topical passage from becoming support merely because it was attached to a claim.
| Name | Type | Req | Description |
|---|---|---|---|
| bindings | array | yes | – |
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
check_server_config ~25
Check API key, DNS, and live TinyFish Search/Fetch endpoint health.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
discovery_search ~51
Run a compact additional retrieval wave; later waves consume the global follow-up budget.
| Name | Type | Req | Description |
|---|---|---|---|
| purpose | string | yes | – |
| queries | array | yes | – |
| research_id | string | yes | – |
| retrieval | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
dispatch_parallel_subagents ~36
Execute independent retrieval tracks concurrently and return only a compact review shortlist.
| Name | Type | Req | Description |
|---|---|---|---|
| research_id | string | yes | – |
| tasks | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
finalize_research ~34
Finalize into an auditable synthesis manifest; do not generate prose inside the MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
get_research_state ~33
Debug/inspection tool. Returns compact protocol state, not full source text.
| Name | Type | Req | Description |
|---|---|---|---|
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
get_source_context ~59
Return a few relevant passages from persisted full source content. Use when the client needs a better direct quote without re-fetching the URL.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | – | – |
| research_id | string | yes | – |
| source_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
init_research ~73
Start a research session with an explicit latency/coverage profile. FAST is the default and preserves the same hard evidence gates while fetching/reviewing fewer candidates and stopping resolved claims early.
| Name | Type | Req | Description |
|---|---|---|---|
| contested | boolean | – | – |
| max_rounds | – | – | – |
| mode | – | – | – |
| topic | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
judge_evidence ~66
Assign bounded semantic relation labels to quote-verified evidence. The server owns evidence IDs and quote integrity. The client does exactly one semantic task here: classify the relationship between the displayed quote and its claim.
| Name | Type | Req | Description |
|---|---|---|---|
| judgments | array | yes | – |
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
override_atomicity ~46
Explicitly override an atomicity warning for a maximally atomic claim.
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | – |
| reason | string | yes | – |
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
plan_research ~32
Validate and store the research plan before any retrieval.
| Name | Type | Req | Description |
|---|---|---|---|
| plan | – | yes | – |
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
register_claims ~58
Register new claims only; does not accept evidence. This separation prevents claim creation and evidence judgment from being conflated in one call. Server generates every claim_id.
| Name | Type | Req | Description |
|---|---|---|---|
| claims | array | yes | – |
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
research_unknowns ~42
Run targeted retrieval only for claims that still need work, then return one compact review packet.
| Name | Type | Req | Description |
|---|---|---|---|
| gaps | array | yes | – |
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
review_candidates ~90
Unified claim/source review: relevance + direct quote + semantic relation. Initial broad retrieval still uses screen_sources before claims exist. Once claim IDs exist, this is the preferred path for both initial evidence and targeted gap evidence; bind_evidence/judge_evidence remain low-level compatibility tools rather than the normal happy path.
| Name | Type | Req | Description |
|---|---|---|---|
| research_id | string | yes | – |
| reviews | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
review_claim_tensions ~62
Record cross-claim tensions after the claim graph is stable. Mandatory once for contested sessions. Tensions may describe genuine theoretical disagreement even when both claims accurately represent different positions.
| Name | Type | Req | Description |
|---|---|---|---|
| research_id | string | yes | – |
| tensions | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
revise_claim ~69
Replace an incorrect/overbroad active claim without leaving the parent unresolved. The old claim is superseded automatically. Use this for semantic revision; use split_claim when one claim must become multiple children.
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | – |
| replacement | – | yes | – |
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
screen_sources ~36
Initial semantic source gate over only the server-provided review shortlist.
| Name | Type | Req | Description |
|---|---|---|---|
| research_id | string | yes | – |
| screenings | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
split_claim ~44
Split a compound claim. The parent is superseded automatically.
| Name | Type | Req | Description |
|---|---|---|---|
| children | array | yes | – |
| parent_claim_id | string | yes | – |
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
verify_citations ~67
Server-owned citation integrity + coverage audit. Normal use: pass research_id only. The server automatically selects the strongest quote-verified winning evidence for each strongly resolved claim. Optional citations are accepted only as explicit client overrides.
| Name | Type | Req | Description |
|---|---|---|---|
| citations | – | – | – |
| research_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | – | – |
| data | object | – | – |
| next_action | – | – | – |
| protocol_version | string | – | – |
| quality_gate | – | – | – |
| status | string | yes | – |
No examples provided.
What is the TinyFish Guided Research MCP server?
TinyFish Guided Research is an MCP server listed in the public MCP registry as io.github.MohdSaleh/tinyfish-guided-research. Auditable deep-research MCP server powered by TinyFish Search and Fetch. This page covers its PyPI package (tinyfish-guided-research-mcp).
Is the TinyFish Guided Research MCP server safe to use?
TinyFish Guided Research scores 52 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the TinyFish Guided Research MCP server expose?
TinyFish Guided Research exposes 20 tools: check_server_config, init_research, plan_research, dispatch_parallel_subagents, discovery_search, and 15 more. Their descriptions and schemas cost roughly 1,034 tokens of context every time the server is loaded.
Is the TinyFish Guided Research MCP server still maintained?
TinyFish Guided Research is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the TinyFish Guided Research MCP server under?
TinyFish Guided Research declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.