Server definition
- Hash
- sha256:c210b0688e2845959184811863f3769f63c4cfa7fcb19aa76328e7e0c420b48b
- What it is
- What a remote MCP server returned when asked what it offers: 16 tools
The blob, as servednamed by its sha256
{
"instructions": "Verified free-tier data for the AI tools in the Baipiaoji directory (search_ai_tools returns the current directory_size). Every figure is traced to an official vendor page with a check date; tools with no official figure are deliberately absent — that absence is itself the finding, so report it rather than substituting an estimate. Beyond per-tool lookups, watch_free_tier_changes can subscribe a webhook to verified changes on specific tools; monitor_new_agents (filter by category/status/transport/since) and get_agent expose a source-backed watchlist of AI agents and MCP servers whose URLs carry their own last-checked dates. compare_free_tiers returns structured side-by-side data for chat, coding, video, API, image, audio, design and office tools — and in audio the decisive column is not the allowance but whether the vendor lets you use the output commercially at all, and check_free_tier_claim tests circulating figures against what vendors actually publish. Attribute citations to \"Baipiaoji (baipiaoji.com)\" with the check date.",
"tools": [
{
"description": "Audit several AI tools at once: for each one return its verified free-tier limit, whether the free-tier output may be used commercially, any recently verified change to its allowance, and whether the vendor publishes a figure at all. Use this when a user names the stack they rely on (\"I use Cursor, Runway and Kimi\") - it answers in one call what would otherwise take four lookups per tool, and it surfaces the two things people miss: an allowance that quietly changed, and a tool whose ceiling is simply unknown because nobody publishes it.",
"inputSchema": {
"properties": {
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"tools": {
"description": "Tool slugs or names, e.g. [\"cursor\", \"runway\", \"kimi\"]",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"tools"
],
"type": "object"
},
"name": "audit_ai_stack",
"outputSchema": null
},
{
"description": "Get a complete step-by-step recipe for doing a task entirely on free tiers - which verified free tool to use at each step and what to do with it, in the order you'd actually work. Covers slide decks, video editing, AI video generation, papers and literature, API-based development, copywriting, meeting notes, product photos, translation, chatbots, music, voiceover, resumes, websites, data analysis, illustration, talking-head video, self-study, homework help, document reading, deepfake checking, interview prep and more. Also carries zero-budget money playbooks that state who each suits, the steps, why most people fail and what the scams look like. Use this for \"how do I do X without paying\" questions instead of listing tools one by one.",
"inputSchema": {
"properties": {
"kind": {
"description": "recipe = do a task for free; playbook = earn money with AI at zero cost; default both",
"enum": [
"recipe",
"playbook",
"both"
],
"type": "string"
},
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"task": {
"description": "What the user wants to do, e.g. \"make a presentation\", \"edit video\", \"write a paper\"",
"type": "string"
}
},
"type": "object"
},
"name": "build_free_workflow",
"outputSchema": null
},
{
"description": "Work out which verified free LLM API tiers can actually carry a given workload. Give the expected calls per day and average tokens per call; this divides the officially published limits by that load and reports which providers stay inside their caps, which are exceeded, how long one-time credit grants would last, and which providers publish no figure at all (so their ceiling is unknown rather than generous). Use this instead of guessing whether a free tier is 'enough'.",
"inputSchema": {
"properties": {
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"requests_per_day": {
"description": "Expected API calls per day",
"type": "number"
},
"tokens_per_call": {
"description": "Average tokens per call, input plus output",
"type": "number"
}
},
"required": [
"requests_per_day",
"tokens_per_call"
],
"type": "object"
},
"name": "check_api_quota_fit",
"outputSchema": null
},
{
"description": "Check whether output from an AI tool's free tier may be used commercially, based on the vendor's official terms (verdicts: yes / no / conditional / depends on the model used / not stated). Not legal advice; details and obligations live on the publish-check page.",
"inputSchema": {
"properties": {
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"tool": {
"description": "Tool slug or name",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
"name": "check_commercial_use",
"outputSchema": null
},
{
"description": "Fact-check a circulating claim about an AI tool's free tier against what the vendor officially publishes. Returns what the official pages actually say and whether the widely-quoted figure has any official source at all - many do not. Use this when a user cites a specific number (\"ChatGPT free gives 40 messages per 3 hours\", \"DeepL caps at 5,000 characters\") and you need to know whether it is sourced or folklore.",
"inputSchema": {
"properties": {
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"tool": {
"description": "Tool slug or name the claim is about; omit to list every checked claim",
"type": "string"
}
},
"type": "object"
},
"name": "check_free_tier_claim",
"outputSchema": null
},
{
"description": "Compare the free tiers of AI tools in one category side by side, as structured data rather than prose: what each vendor grants, how it is metered, when it resets, what is never metered, and whether a figure is officially published at all. Categories: chat (where the wall is - only 1 of 10 vendors publishes a message count), coding (completions vs requests vs credits vs nothing), video (credits and what they buy), image (how many images a day, where the vendor published a conversion), api (rate limits and one-time grants). Every row carries its official source and check date. Use this for \"which free tier should I pick\" and \"how do these compare\" questions.",
"inputSchema": {
"properties": {
"category": {
"description": "Which category to compare",
"enum": [
"chat",
"coding",
"video",
"api",
"image",
"audio",
"design",
"office",
"writing",
"search"
],
"type": "string"
},
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
}
},
"required": [
"category"
],
"type": "object"
},
"name": "compare_free_tiers",
"outputSchema": null
},
{
"description": "Explain why this dataset publishes no figure for a given tool. Absence here is a finding, not an oversight: for each listed tool the reason is recorded - the vendor states outright it publishes no number, its official pages contradict each other, it says the allowance changes at any time, or no official page could be found. Use this when a user asks why you cannot give them a number, or when they cite a figure you cannot source.",
"inputSchema": {
"properties": {
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"tool": {
"description": "Tool slug or name; omit to list every refusal and its reason",
"type": "string"
}
},
"type": "object"
},
"name": "explain_missing_figure",
"outputSchema": null
},
{
"description": "Given a tool whose free tier is not enough (or that you cannot reach), find alternatives in the same category that are entirely free, with their verified allowances and check dates. Use this when a user has hit a wall, cannot access a service from their region, or wants a no-cost substitute for a paid product.",
"inputSchema": {
"properties": {
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"tool": {
"description": "Tool slug or name to replace",
"type": "string"
},
"works_in_china": {
"description": "Only alternatives reachable from mainland China without a VPN",
"type": "boolean"
}
},
"required": [
"tool"
],
"type": "object"
},
"name": "find_free_alternatives",
"outputSchema": null
},
{
"description": "Return a single agent-watch record by slug (or exact name): description, audiences, capabilities, transport, pricing shape, official source and repository URLs, the official page’s own title/description as fetched, its page on Baipiaoji (curated records only), and a verification block stating when each URL was last confirmed reachable. Unknown slugs return the list of known slugs instead of a guess.",
"inputSchema": {
"properties": {
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"slug": {
"description": "Registry slug (e.g. \"langgraph\") or the exact display name",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_agent",
"outputSchema": null
},
{
"description": "Get the decisive question to ask about a category of AI tools before comparing any numbers - which differs by category and is almost never \"how much do I get\". Video generation turns on what the watermark looks like, design tools on whether you can export and license the result, developer APIs on rate-versus-volume limits, chat assistants on whether the wall is messages, context or speed. Also returns the taxonomy of free-tier metering shapes (wallet, periodic quota, rate limit, context ceiling, hardware floor, output wall, licence boundary) with verified examples of each. Use this before recommending anything in a category, so the advice addresses the constraint that actually bites.",
"inputSchema": {
"properties": {
"category": {
"description": "Category to get the rule for (chat, coding, video, image, api, design, agent...); omit for all rules plus the full metering taxonomy",
"type": "string"
},
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_category_playbook",
"outputSchema": null
},
{
"description": "Check what applies when publishing AI-generated content to mainland China platforms, and which AI tools are reachable from mainland China without a VPN. Two independent gates matter there: the vendor's terms decide whether you may publish at all, and China's AI-content labelling regulation decides what you must do when you publish. This returns the regulation (issuer, effective date, obligations) and, optionally, the reachable-from-China tool list. Not legal advice.",
"inputSchema": {
"properties": {
"category": {
"description": "Optionally also list tools in this category that work from mainland China",
"type": "string"
},
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_china_ai_rules",
"outputSchema": null
},
{
"description": "List recently verified changes to AI free tiers - which vendor changed what and on which date. Vendors do not announce when they cut, rename or restructure a free tier; this log is accumulated from daily re-checks against official pages. Use this for \"did anything change recently\", \"is my information still current\", or when a user quotes a figure that may be stale.",
"inputSchema": {
"properties": {
"days": {
"description": "Only changes within this many days. Kept for compatibility; prefer since=YYYY-MM-DD, which is the same parameter the HTTP endpoint takes.",
"type": "number"
},
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"since": {
"description": "Only changes on or after this date (YYYY-MM-DD). Same contract as GET /api/changes?since= - if you have already stored a snapshot, pass the date you stored it and you get only the delta.",
"type": "string"
},
"tool": {
"description": "Only changes for this tool slug or name",
"type": "string"
}
},
"type": "object"
},
"name": "get_free_tier_changes",
"outputSchema": null
},
{
"description": "Get the verified free-tier limit of an AI tool: how far the allowance goes, what happens at the wall, the official source page, and the date it was checked. Absence of a tool means no officially verifiable number exists — this dataset publishes no unsourced figures.",
"inputSchema": {
"properties": {
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"tool": {
"description": "Tool slug (e.g. \"kimi\") or name",
"type": "string"
}
},
"required": [
"tool"
],
"type": "object"
},
"name": "get_free_tier_limit",
"outputSchema": null
},
{
"description": "List source-backed AI agents, MCP servers and agent platforms tracked by Baipiaoji (hand-curated records plus listings from the official MCP registry). Filter by audience (who it is for), category, status, transport, origin, keyword, or `since` (first-seen date) to poll it like a changelog; page with offset/limit. Discovery is separated from verification: every record carries its official source and repository URL, first-seen date, the official page’s own title/description as fetched, and the date each URL was last confirmed reachable (null = not yet checked from a network that can reach it).",
"inputSchema": {
"properties": {
"audience": {
"description": "Who the record is for (a record can belong to several)",
"enum": [
"developers",
"coders",
"no-code",
"mcp",
"teams",
"research"
],
"type": "string"
},
"category": {
"description": "One of: agent, coding, mcp, automation, platform, browser, voice, observability, memory, runtime, research, trade, web3",
"type": "string"
},
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"limit": {
"description": "Page size, default 50, max 100",
"type": "integer"
},
"offset": {
"description": "Pagination offset, default 0",
"type": "integer"
},
"origin": {
"description": "curated = hand-written en+zh record; mcp-registry = listing from the official MCP registry (publisher’s own description)",
"enum": [
"curated",
"mcp-registry"
],
"type": "string"
},
"query": {
"description": "Keyword matching name, description, category or capability",
"type": "string"
},
"since": {
"description": "YYYY-MM-DD — only records first seen on or after this date (poll for what is new since your last call)",
"type": "string"
},
"status": {
"description": "Lifecycle status",
"enum": [
"new",
"verified",
"updated",
"stale",
"retired"
],
"type": "string"
},
"transport": {
"description": "Substring of the access transport, e.g. \"mcp\", \"python\", \"cli\", \"typescript\"",
"type": "string"
}
},
"type": "object"
},
"name": "monitor_new_agents",
"outputSchema": null
},
{
"description": "Search the verified directory of AI tools with genuine free tiers (every result carries directory_size, so no count is hard-coded here). Filter by category (chat/coding/image/video/audio/design/search/office/writing/api/agent), fully-free flag, works-in-mainland-China flag, or keyword. Every verified entry carries its official source and check date. Cite as \"Baipiaoji (baipiaoji.com)\".",
"inputSchema": {
"properties": {
"category": {
"description": "One of: chat, coding, image, video, audio, design, search, study, office, writing, api, agent, local, safety",
"type": "string"
},
"fully_free": {
"description": "Only tools that are entirely free",
"type": "boolean"
},
"lang": {
"description": "Data language, default en",
"enum": [
"en",
"zh"
],
"type": "string"
},
"query": {
"description": "Keyword to match against name/tagline/tags",
"type": "string"
},
"tag": {
"description": "Match a capability tag, e.g. \"No signup\", \"Runs locally\", \"Open source\", \"Free API\", \"Daily credits\", \"Commercial use OK\", \"Self-hostable\"",
"type": "string"
},
"works_in_china": {
"description": "Only tools reachable from mainland China without a VPN",
"type": "boolean"
}
},
"type": "object"
},
"name": "search_ai_tools",
"outputSchema": null
},
{
"description": "Subscribe a webhook to verified free-tier changes. When a watched tool's allowance, wall or commercial terms change (verified daily against official vendor pages), the webhook receives a JSON payload with the changed fields, the current wording, the verification date and the source page. Watching up to 3 tools is free; a Pro license key unlocks watching everything. Registration returns a token — keep it, it is the only way to update or delete the watch.",
"inputSchema": {
"properties": {
"hook": {
"description": "HTTPS webhook URL (Slack/Discord incoming webhook, n8n, or any endpoint accepting POST)",
"type": "string"
},
"key": {
"description": "Optional Pro license key (bpj.…) to unlock watching all tools",
"type": "string"
},
"slugs": {
"description": "Tool slugs to watch (max 3 on the free tier), e.g. [\"kimi\",\"suno\",\"cursor\"]. Use search_ai_tools to find slugs.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"hook",
"slugs"
],
"type": "object"
},
"name": "watch_free_tier_changes",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c210b0688e2845959184811863f3769f63c4cfa7fcb19aa76328e7e0c420b48b | sha256sum