MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity.
$ npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tinyfish-io/tinyfish-cookbook doctor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tinyfish-io/tinyfish-cookbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/tinyfish/skills/doctor .claude/skills/doctor && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "doctor" agent skill from https://github.com/tinyfish-io/tinyfish-cookbook/tree/main/plugins/tinyfish/skills/doctor into .claude/skills/doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doctor", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tinyfish-io/tinyfish-cookbook/tree/main/plugins/tinyfish/skills/doctorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tinyfish-io/tinyfish-cookbook doctor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tinyfish-io/tinyfish-cookbook.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/tinyfish/skills/doctor .agents/skills/doctor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "doctor" agent skill from https://github.com/tinyfish-io/tinyfish-cookbook/tree/main/plugins/tinyfish/skills/doctor into .agents/skills/doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doctor", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tinyfish-io/tinyfish-cookbook doctor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tinyfish-io/tinyfish-cookbook.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/tinyfish/skills/doctor .cursor/skills/doctor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "doctor" agent skill from https://github.com/tinyfish-io/tinyfish-cookbook/tree/main/plugins/tinyfish/skills/doctor into .cursor/skills/doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doctor", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tinyfish-io/tinyfish-cookbook.git --path plugins/tinyfish/skills/doctor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tinyfish-io/tinyfish-cookbook doctor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tinyfish-io/tinyfish-cookbook.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/tinyfish/skills/doctor .gemini/skills/doctor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "doctor" agent skill from https://github.com/tinyfish-io/tinyfish-cookbook/tree/main/plugins/tinyfish/skills/doctor into .gemini/skills/doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doctor", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tinyfish-io/tinyfish-cookbook doctorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tinyfish-io/tinyfish-cookbook.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/tinyfish/skills/doctor .github/skills/doctor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "doctor" agent skill from https://github.com/tinyfish-io/tinyfish-cookbook/tree/main/plugins/tinyfish/skills/doctor into .github/skills/doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doctor", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tinyfish-io/tinyfish-cookbook doctor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tinyfish-io/tinyfish-cookbook.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/tinyfish/skills/doctor .opencode/skills/doctor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "doctor" agent skill from https://github.com/tinyfish-io/tinyfish-cookbook/tree/main/plugins/tinyfish/skills/doctor into .opencode/skills/doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "doctor", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
doctorDiagnose and repair your TinyFish setup — MCP registration, auth, and connectivity.
Doctor is an agent skill from tinyfish-io/tinyfish-cookbook. Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity. Runs the TinyFish CLI's own doctor for the config checks, then does the one thing the CLI cannot — proving this harness can actually reach TinyFish. Run when TinyFish tools fail, return auth errors, or after an install that did not verify cleanly.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Model Context Protocol. The repository describes itself as: A collection of sample apps and recipes built with the TinyFish web agent. Open-source examples for you to learn & build! The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 292ee62. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Doctor loads about 1.6k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 952 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from tinyfish-io/tinyfish-cookbook at commit 292ee62, republished under its MIT licence (© tinyfish-io). 952 words, ~1,603 tokens.
.claude/skills/doctor/SKILL.md (or your agent's skills folder).tinyfish doctor (CLI 0.22+) owns the diagnosis. Your job is to run it, do the one
check it structurally cannot do, and act on what comes back. Never hand-edit config
files — every repair goes through the CLI, which carries backup and merge rigor.
Sandboxed surfaces (Claude.ai, Desktop, Cowork) have no npx. If you cannot run
commands, skip to step 2 — it is the more valuable check anyway — then give the user
the command from step 1 to run themselves.
npx -y @tiny-fish/cli@latest doctor --harness claude-codeJSON on stdout: schema_version, cli_version, ok_harnesses, ok_cli, checks[],
harnesses[], repairs[].
Read schema_version before the fields. This skill describes 3 (CLI 0.22+). The command
pins @latest, so a newer CLI can hand you a shape you do not know: above 3, stop reading
fields, show the user --pretty output instead, and rely on step 2 for the verdict. Below
3 a single ok replaces the two verdicts and checks[] carry no scope, so read only
checks[] and the exit code there.
Two verdicts, not one. ok_harnesses answers whether the user's agents can reach
TinyFish; ok_cli answers whether the CLI's own credential works. checks[].scope
(harness, cli, info) says which one a check counts toward, and only the harness scope
moves the exit code — ok_cli: false beside exit 0 is a real state, not a contradiction.
Report it as the CLI's own credential, not as a broken harness.
| Exit | Meaning |
|---|---|
0 | no harness check failed — ok_cli can still be false |
1 | a harness check failed — read checks[] |
2 | doctor could not run; stdout is empty, the reason is on stderr |
A warn is not a failure and does not move the exit code: doctor is saying it could not
check something, not that it is broken. A registration warn whose detail says the key was
not readable, or was not verified, means the key exists but doctor could not test its value
— every Codex install, and any harness whose config redacts the header. Never repair on a
warn, prove it in step 2.
--pretty only when showing a human the list. Never put --debug output in a report —
it is the one channel carrying raw stacks and absolute paths.
harnesses[].proves_harness_reach is false whenever doctor could not prove that this
harness authenticates. It is true only where the harness's own client reports a live
connection, or where a key doctor could read verified on the wire — the CLI cannot borrow an
OAuth token, so every harness that reports no connection state leaves the gap to you.
--harness claude-code narrows harnesses[] to exactly one entry, so there is no ambiguity about which harness it describes.
Count the TinyFish servers first. A plugin, a CLI-written entry, and an account-level
connector can all be registered at once, all pointing at the same endpoint. doctor inspects
only the one named tinyfish and cannot see its siblings. Note which server it reported on.
Then call search once with a cheap query, and note which server answered — the tool
namespace names it.
| What happens | What it means |
|---|---|
| Results, from the server doctor reported on | Setup works end to end, whatever auth_mode says |
| Results, but from a different TinyFish server | Proves nothing about the flagged registration. Report the working server and the flagged one as still unverified |
Auth error, but doctor says registered: yes | Registration exists; the credential behind it is broken |
| TinyFish tools absent entirely | Server not loaded in this session — the user must restart the agent |
What a registration: pass proves depends on schema_version. On 2 and 3 an API-key
registration was tested on the wire, so a stale key header is already a fail with a
connect repair beside it. A pass carrying proves_harness_reach: true is the harness's own
client reporting a live connection — wire evidence at any version, whatever auth_mode says.
Every other pass is presence only: doctor read config, not the wire, and a stale key still
passes while every call 401s. No version says anything about siblings, and a
healthy sibling will answer cheerfully while the broken one stays broken.
Run only commands that appear in repairs[], and show command before running it. They
arrive as bare tinyfish …, which is not on PATH under npx — swap that leading word for
npx -y @tiny-fish/cli@latest when there is no global install. Keep
the order they arrive in: action: auth-login comes before action: connect because
connect writes whichever key is stored, so a dead one has to be replaced first.
npx -y @tiny-fish/cli@latest doctor --fix --harness claude-codenpx -y @tiny-fish/cli@latest doctor --fix --yes; only unattended_safe: true repairs run and the
rest return as skipped. Never report a skipped repair as a fix.unattended_safe: false → hand it to the user, do not run it. Expect most repairs to be
false: auth login always is, and connect <harness> is unsafe for every harness except
Cursor — and on 2 and 3 Cursor only while the CLI's own authenticated call passes, since a
revoked key still resolves as a credential. Read the field, do not infer it./mcp, pick tinyfish, and sign in.Re-run step 2 after any repair. Success means showing the real search result — the user should see their agent touch the live web.
Attach doctor's stdout JSON verbatim. It is schema-versioned and already redaction-safe:
undeclared fields are stripped on parse and every message is authored rather than raw. Do
not build your own report, add fields, or paste config contents. On exit 2 there is no
JSON — say so rather than filing an empty report.
Then offer /tinyfish:feedback to file it.
© tinyfish-io, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/tinyfish/skills/doctor of tinyfish-io/tinyfish-cookbook.
Open the folder on GitHubat commit 292ee62
Doctor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Doctor this skilltinyfish-io/tinyfish-cookbook | 2.2k | — | ~1.6k | Automated safety check: Pass | MIT | |
| MCP Server Builderanthropics/skills | 180k | 64 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server BuildershareAI-lab/learn-claude-code | 78k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| MCP Integration for Pluginsanthropics/claude-plugins-official | 38k | 11 repos | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Figma use_figma Plugin API Ruleswarpdotdev/warp | 65k | 4 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills | 8.4k | 6 repos | ~3.2k | Automated safety check: Notes | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
shareAI-lab/learn-claude-code
Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.
anthropics/claude-plugins-official
Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.
warpdotdev/warp
Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.
google-labs-code/stitch-skills
Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.
coollabsio/coolify
A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.
tinyfish-io/tinyfish-cookbook
Monitor brand mentions, sentiment, and industry chatter across the web using TinyFish Search and Fetch.
tinyfish-io/tinyfish-cookbook
Map the research landscape for any technical or academic topic by searching arXiv, Semantic Scholar, and Google Scholar in parallel.
tinyfish-io/tinyfish-cookbook
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a natural-language goal, or run the same task across multiple sites in…
tinyfish-io/tinyfish-cookbook
Reverse-engineer what a company is building by scraping their job postings, careers page, LinkedIn Jobs, and engineering blog using TinyFish web agents.
tinyfish-io/tinyfish-cookbook
Monitor competitor product releases and new feature announcements.
tinyfish-io/tinyfish-cookbook
Check every dependency in a package.json against live CVE databases and security advisories in real time — specifically targeting vulnerabilities disclosed in the last 48 hours, the window that…
Works with
Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity. Doctor is an agent skill from tinyfish-io/tinyfish-cookbook. Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity.
Run `npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a claude-code`. Or copy the skill folder (plugins/tinyfish/skills/doctor in tinyfish-io/tinyfish-cookbook) into .claude/skills/doctor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a codex`. Or copy the skill folder (plugins/tinyfish/skills/doctor in tinyfish-io/tinyfish-cookbook) into .agents/skills/doctor in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/doctor, .gemini/skills/doctor, .github/skills/doctor and .opencode/skills/doctor in your project.
Going by SKILL.md and its folder, Doctor needs the command-line tools its instructions call (npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Doctor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Doctor: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tinyfish-io (a GitHub organization) maintains it in tinyfish-io/tinyfish-cookbook, which has 2,223 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 1, 2026.
Source: tinyfish-io/tinyfish-cookbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.