Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,521Letters: 13Defects: 1,321counted 3 min ago
teppi

Server definition

Hash
sha256:c95c90d15f4d168265286ee6d7349a8b6e2ed5130f63259675a01ed2e8019499
What it is
What a remote MCP server returned when asked what it offers: 12 tools

The blob, as servednamed by its sha256

{ "instructions": "HonestHook reads public profiles, recent posts and archived history from 10 social platforms through one API with one response shape, so you do not have to write or maintain a scraper.\n\nStart with `get_docs`: one page covering authentication, the response envelope and what happens when credits run out.\n\n5 tools need no API key and cost 0 credits: `list_platforms`, `list_endpoints`, `pricing`, `archive_coverage`, `get_docs`. Use them to check coverage, handle formats and price before signing up. `archive_coverage` is also the step before the archive tools: it is where the niche ids come from.\n\nThe other 7 need a key. `fetch_profile`, `fetch_posts`, `profile_history`, `archive_trends` and `github_repos` cost 1 credit per call; `archive_movers` costs 10, because it does the comparison for you. `check_balance` needs a key too but costs 0 — reading a balance cannot change it. Call `pricing` for the live per-endpoint cost, including which calls are free when they find nothing.\n\nFree key, 1,000 credits a month, no card: https://honesthook.com/docs#key", "tools": [ { "description": "How much trend history HonestHook already holds, by niche — AI agents, developer tools, indie SaaS — with the most recent hourly window captured. Use this to check whether the archive goes back far enough for your question before you build on it. No API key needed, and it costs 0 credits.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "archive_coverage", "outputSchema": null }, { "description": "Who grew and who shrank most in a niche, over a window we have already archived — the comparison done for you, ranked. Call `archive_coverage` first: it lists the valid niche ids and how far back each one goes. `hours` is 1 to 720 (30 days) and defaults to 24; `limit` is 1 to 100 and defaults to 20. A value outside the range is rejected rather than silently trimmed. Requires an API key sent as `Authorization: Bearer <key>` — free key at https://honesthook.com/docs#key; costs 10 credits — free when nothing moved.", "inputSchema": { "additionalProperties": false, "properties": { "hours": { "description": "How many hours back the window goes. Optional, 1 to 720, 24 by default. Outside that range the API answers 400.", "type": "integer" }, "limit": { "description": "How many movers to return. Optional, 1 to 100, 20 by default. Outside that range the API answers 400.", "type": "integer" }, "niche": { "description": "The niche id, as `archive_coverage` returns it — for example `ai-agents`. A niche we do not archive is refused by the API.", "type": "string" } }, "required": [ "niche" ], "type": "object" }, "name": "archive_movers", "outputSchema": null }, { "description": "How a niche moved over a window we have already archived, grouped by item: where each account stood then and where it stands now. This is the question nobody can answer after the fact — nobody photographs the past retroactively. Call `archive_coverage` first for the valid niche ids and how far back the archive goes. `from` and `to` are ISO 8601; without them you get the last 7 days, and the archive caps any window at 90 days. Requires an API key sent as `Authorization: Bearer <key>` — free key at https://honesthook.com/docs#key; costs 1 credit — charged even when the result is empty.", "inputSchema": { "additionalProperties": false, "properties": { "from": { "description": "Start of the window, ISO 8601 (`2026-09-05T00:00:00Z`). Optional. Anything else answers 400 rather than being guessed at.", "type": "string" }, "limit": { "description": "How many items to return. Optional.", "type": "integer" }, "niche": { "description": "The niche id, as `archive_coverage` returns it — for example `ai-agents`. A niche we do not archive is refused by the API.", "type": "string" }, "to": { "description": "End of the window, ISO 8601. Optional, defaults to now.", "type": "string" } }, "required": [ "niche" ], "type": "object" }, "name": "archive_trends", "outputSchema": null }, { "description": "How many credits are left on your HonestHook API key: the free monthly allowance, the purchased balance, when the allowance renews, and what this cycle spent, broken down by endpoint. Requires an API key sent as `Authorization: Bearer <key>` — free key at https://honesthook.com/docs#key. Checking the balance costs 0 credits — reading it never changes it.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "check_balance", "outputSchema": null }, { "description": "Read the recent posts of one public profile: the text, likes, replies, reposts, quotes, the post URL and when it was published. Threads, Bluesky and Mastodon. Boosts and reposts of other people are filtered out — you get what the account itself wrote, its replies included. `limit` is optional on Bluesky and Mastodon, and each has its own range: a value outside it is rejected rather than silently trimmed. Threads does not accept `limit` at all and answers 400 if you send it — its posts arrive inside the same document as the profile, so there is no upstream to ask for a count. Requires an API key sent as `Authorization: Bearer <key>` — free key at https://honesthook.com/docs#key; costs 1 credit.", "inputSchema": { "additionalProperties": false, "properties": { "handle": { "description": "The account handle, without the leading @. On Mastodon it must be `user@instance`, because the same local name exists on many servers.", "type": "string" }, "limit": { "description": "How many posts to return. Optional, and Bluesky and Mastodon only. The valid range depends on the platform and the API rejects a value outside it instead of trimming it, so the count you get is never quietly smaller than the count you asked for. Threads answers 400 if you send this at all: its posts come from the profile document, not from a query you can size.", "type": "integer" }, "platform": { "description": "Which platform to read the posts from.", "enum": [ "bluesky", "mastodon", "threads" ], "type": "string" } }, "required": [ "platform", "handle" ], "type": "object" }, "name": "fetch_posts", "outputSchema": null }, { "description": "Read one public profile and get the numbers back: follower count, following count, posts count, bio, verified flag and avatar. Works on Instagram, TikTok, Threads, Bluesky, Mastodon, GitHub, Pinterest, SoundCloud, Linktree and Medium. Mastodon handles are always `user@instance` — the local name alone identifies nobody. Requires an API key sent as `Authorization: Bearer <key>` — free key at https://honesthook.com/docs#key; costs 1 credit.", "inputSchema": { "additionalProperties": false, "properties": { "handle": { "description": "The account handle, without the leading @. On Mastodon it must be `user@instance`, because the same local name exists on many servers.", "type": "string" }, "platform": { "description": "Which platform to read the profile from.", "enum": [ "bluesky", "github", "instagram", "linktree", "mastodon", "medium", "pinterest", "soundcloud", "threads", "tiktok" ], "type": "string" } }, "required": [ "platform", "handle" ], "type": "object" }, "name": "fetch_profile", "outputSchema": null }, { "description": "How to authenticate, how the response envelope is shaped, what happens when credits run out, and where to get a free key with 1,000 credits a month and no card. Read this before writing code against the API. No API key needed, and it costs 0 credits.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_docs", "outputSchema": null }, { "description": "The public repositories of one GitHub account, with stars and forks. GitHub only — this is the one platform whose repositories we read. `limit` is optional: 30 by default, which is GitHub's own page size, and 100 at most, which is GitHub's ceiling. Requires an API key sent as `Authorization: Bearer <key>` — free key at https://honesthook.com/docs#key; costs 1 credit.", "inputSchema": { "additionalProperties": false, "properties": { "handle": { "description": "The GitHub username, without the leading @: letters, digits and single hyphens, up to 39 characters.", "type": "string" }, "limit": { "description": "How many repositories to return. Optional, 30 by default, 100 at most. Outside that range the API answers 400.", "type": "integer" } }, "required": [ "handle" ], "type": "object" }, "name": "github_repos", "outputSchema": null }, { "description": "List every HonestHook API endpoint: public profiles (followers, following, posts count, bio, verified), recent posts, the historical trend archive, and per-profile history. Returns the URL and the query parameters for each, and says which ones you can call as a tool on this server — profiles through `fetch_profile`, posts through `fetch_posts` — and which are HTTP only. No API key needed, and it costs 0 credits.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_endpoints", "outputSchema": null }, { "description": "List every social platform HonestHook can read right now — the platforms you'd otherwise write a scraper for: Instagram, TikTok, Threads, Bluesky, Mastodon, GitHub, Pinterest, SoundCloud, Linktree, Medium — and what a handle looks like on each one. Use this before asking for a profile, to check the platform is covered and the handle format is right. No API key needed, and it costs 0 credits.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_platforms", "outputSchema": null }, { "description": "What each HonestHook call costs in credits, and which calls are free when they find nothing. Includes the free monthly allowance that every key gets with no card, at https://honesthook.com/docs#key. Use this to estimate cost before building. No API key needed, and it costs 0 credits.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "pricing", "outputSchema": null }, { "description": "The daily history of one public profile we have already archived: how its follower count moved, day by day. ⚠️ It only covers what was captured after somebody first asked for that profile — the series starts the day of the first call and never earlier, and the response says so in `covered_from`. A handle nobody ever asked for comes back with an empty series, which means 'we never looked', never 'nothing changed'. Requires an API key sent as `Authorization: Bearer <key>` — free key at https://honesthook.com/docs#key; costs 1 credit — free when nothing is found.", "inputSchema": { "additionalProperties": false, "properties": { "from": { "description": "Start of the window, ISO 8601. Optional. Anything else answers 400.", "type": "string" }, "handle": { "description": "The account handle, without the leading @. On Mastodon it must be `user@instance`, because the same local name exists on many servers.", "type": "string" }, "limit": { "description": "How many days to return. Optional.", "type": "integer" }, "platform": { "description": "Which platform the archived profile is on.", "enum": [ "bluesky", "github", "instagram", "linktree", "mastodon", "medium", "pinterest", "soundcloud", "threads", "tiktok" ], "type": "string" }, "to": { "description": "End of the window, ISO 8601. Optional.", "type": "string" } }, "required": [ "platform", "handle" ], "type": "object" }, "name": "profile_history", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:c95c90d15f4d168265286ee6d7349a8b6e2ed5130f63259675a01ed2e8019499 | sha256sum