Server definition
- Hash
- sha256:f3697464561dfc8f6fdc77f86a04e8378741bf205c12d144b93d60cb261d4948
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "BidClub publishes bilingual digests and transcripts of investment and technology podcasts. Search or list to find a slug, then read the tldr or digest section; page a transcript only when the summary is not enough.",
"tools": [
{
"description": "Build the download URLs for an episode or a whole show without fetching anything. Hand these to the user, or fetch one yourself when you need a complete transcript in a single request instead of paging it through bidclub_get_episode. Exactly one of slug or show is required.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"lang": {
"default": "orig",
"description": "Edition to request in the generated URLs. orig keeps each artifact in its source language.",
"enum": [
"orig",
"EN",
"ZH"
],
"type": "string"
},
"show": {
"description": "Show id, for the whole-show zip archives. Mutually exclusive with slug.",
"pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
"type": "string"
},
"slug": {
"description": "Episode slug. Mutually exclusive with show.",
"pattern": "^[a-z0-9](?:[a-z0-9-]{0,158}[a-z0-9])?$",
"type": "string"
}
},
"type": "object"
},
"name": "bidclub_download_links",
"outputSchema": null
},
{
"description": "The slim catalogue of every episode — one row each, metadata only. Narrow it with show or person; passing both is an error. Large responses are truncated to the newest rows with a note, so filter rather than paging.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"asset": {
"description": "Optional asset tag ids joined by commas (equities, crypto, vc_pe, other). Matches any selected id within this facet and all supplied facets together. Omit for all episodes, including untagged; pass none for no episodes.",
"pattern": "^(?:none|(?:equities|crypto|vc_pe|other)(?:,(?:equities|crypto|vc_pe|other))*)$",
"type": "string"
},
"focus": {
"description": "Optional focus tag ids joined by commas (investing, company_building, technical, macro, policy). Matches any selected id within this facet and all supplied facets together. Omit for all episodes, including untagged; pass none for no episodes.",
"pattern": "^(?:none|(?:investing|company_building|technical|macro|policy)(?:,(?:investing|company_building|technical|macro|policy))*)$",
"type": "string"
},
"person": {
"description": "Exact participant name. Mutually exclusive with show.",
"maxLength": 120,
"type": "string"
},
"sector": {
"description": "Optional sector tag ids joined by commas (ai_software, semis, robotics, biotech, consumer, finance, blockchain, energy, space_defense). Matches any selected id within this facet and all supplied facets together. Omit for all episodes, including untagged; pass none for no episodes.",
"pattern": "^(?:none|(?:ai_software|semis|robotics|biotech|consumer|finance|blockchain|energy|space_defense)(?:,(?:ai_software|semis|robotics|biotech|consumer|finance|blockchain|energy|space_defense))*)$",
"type": "string"
},
"show": {
"description": "Show id. Mutually exclusive with person.",
"pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
"type": "string"
}
},
"type": "object"
},
"name": "bidclub_feed_index",
"outputSchema": null
},
{
"description": "Read one section of an episode. Long sections page deterministically: when the result says truncated: true, call again with offset set to next_offset and concatenate content_md until next_offset is null. Prefer tldr or digest — a transcript can exceed 100,000 characters and is rarely worth paging in full. lang selects the OUTPUT edition, not a catalogue filter; transcripts exist only in the episode's source language, so requesting a different lang for section=transcript always returns the source with lang_fallback: true.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"lang": {
"default": "EN",
"description": "Output edition. A translated summary is served only when both the TL;DR and the digest translations are complete; otherwise the source edition comes back with lang_fallback: true.",
"enum": [
"EN",
"ZH"
],
"type": "string"
},
"max_chars": {
"description": "Code points per window. Defaults to 20000 for Latin text and 14000 for Chinese or Japanese text, which cost about one token per character.",
"maximum": 50000,
"minimum": 1000,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Code-point offset into the section. Use the previous next_offset.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"section": {
"default": "digest",
"description": "meta returns the row with no long markdown at all; tldr is the bullet summary; digest is the structured writeup; transcript is the full text.",
"enum": [
"meta",
"tldr",
"digest",
"transcript"
],
"type": "string"
},
"slug": {
"description": "Episode slug from a list or search result.",
"pattern": "^[a-z0-9](?:[a-z0-9-]{0,158}[a-z0-9])?$",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "bidclub_get_episode",
"outputSchema": null
},
{
"description": "List episodes newest first, optionally narrowed to one show. Returns metadata only — titles, deks, dates, durations, participant chips and source links — never the digest or transcript. Use bidclub_get_episode for content.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"asset": {
"description": "Optional asset tag ids joined by commas (equities, crypto, vc_pe, other). Matches any selected id within this facet and all supplied facets together. Omit for all episodes, including untagged; pass none for no episodes.",
"pattern": "^(?:none|(?:equities|crypto|vc_pe|other)(?:,(?:equities|crypto|vc_pe|other))*)$",
"type": "string"
},
"focus": {
"description": "Optional focus tag ids joined by commas (investing, company_building, technical, macro, policy). Matches any selected id within this facet and all supplied facets together. Omit for all episodes, including untagged; pass none for no episodes.",
"pattern": "^(?:none|(?:investing|company_building|technical|macro|policy)(?:,(?:investing|company_building|technical|macro|policy))*)$",
"type": "string"
},
"limit": {
"default": 50,
"description": "Episodes per page.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Rows to skip. Page with the returned pagination.next_offset.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"sector": {
"description": "Optional sector tag ids joined by commas (ai_software, semis, robotics, biotech, consumer, finance, blockchain, energy, space_defense). Matches any selected id within this facet and all supplied facets together. Omit for all episodes, including untagged; pass none for no episodes.",
"pattern": "^(?:none|(?:ai_software|semis|robotics|biotech|consumer|finance|blockchain|energy|space_defense)(?:,(?:ai_software|semis|robotics|biotech|consumer|finance|blockchain|energy|space_defense))*)$",
"type": "string"
},
"show": {
"description": "Show id from bidclub_list_shows. Omit for the whole library.",
"pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
"type": "string"
},
"source_lang": {
"description": "Filters by the episode's ORIGINAL language. Chinese digests exist for most English-source episodes, so do NOT set source_lang=ZH just because you want Chinese output — use the lang parameter on bidclub_get_episode instead.",
"enum": [
"EN",
"ZH"
],
"type": "string"
}
},
"type": "object"
},
"name": "bidclub_list_episodes",
"outputSchema": null
},
{
"description": "List every show in the BidClub library with its id, display name, source language, hosts, and source links. Start here when you need a show id for the show parameter of the other tools.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "bidclub_list_shows",
"outputSchema": null
},
{
"description": "Full-text search across titles, deks, TL;DRs, digests and transcripts, with a substring sweep that handles Chinese queries the tokenizer cannot segment. Returns up to 20 metadata rows, never content. When the response carries partial: true the query only covered the newest searched_recent episodes, so say so rather than reporting an absence.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"asset": {
"description": "Optional asset tag ids joined by commas (equities, crypto, vc_pe, other). Matches any selected id within this facet and all supplied facets together. Omit for all episodes, including untagged; pass none for no episodes.",
"pattern": "^(?:none|(?:equities|crypto|vc_pe|other)(?:,(?:equities|crypto|vc_pe|other))*)$",
"type": "string"
},
"focus": {
"description": "Optional focus tag ids joined by commas (investing, company_building, technical, macro, policy). Matches any selected id within this facet and all supplied facets together. Omit for all episodes, including untagged; pass none for no episodes.",
"pattern": "^(?:none|(?:investing|company_building|technical|macro|policy)(?:,(?:investing|company_building|technical|macro|policy))*)$",
"type": "string"
},
"len": {
"description": "Episode duration bucket.",
"enum": [
"lt30",
"30to60",
"60to120",
"gt120"
],
"type": "string"
},
"person": {
"description": "Exact participant name, matched against the \"person:\" chips.",
"maxLength": 120,
"type": "string"
},
"q": {
"description": "Query text. English words are stemmed; Chinese matches as a substring.",
"maxLength": 100,
"minLength": 2,
"type": "string"
},
"sector": {
"description": "Optional sector tag ids joined by commas (ai_software, semis, robotics, biotech, consumer, finance, blockchain, energy, space_defense). Matches any selected id within this facet and all supplied facets together. Omit for all episodes, including untagged; pass none for no episodes.",
"pattern": "^(?:none|(?:ai_software|semis|robotics|biotech|consumer|finance|blockchain|energy|space_defense)(?:,(?:ai_software|semis|robotics|biotech|consumer|finance|blockchain|energy|space_defense))*)$",
"type": "string"
},
"show": {
"description": "Show id from bidclub_list_shows.",
"pattern": "^[a-z0-9][a-z0-9_-]{0,63}$",
"type": "string"
},
"source_lang": {
"description": "Filters by the episode's ORIGINAL language. Chinese digests exist for most English-source episodes, so do NOT set source_lang=ZH just because you want Chinese output — use the lang parameter on bidclub_get_episode instead.",
"enum": [
"EN",
"ZH"
],
"type": "string"
},
"time": {
"description": "Restrict to episodes published within this window.",
"enum": [
"24h",
"7d",
"30d"
],
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "bidclub_search_episodes",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:f3697464561dfc8f6fdc77f86a04e8378741bf205c12d144b93d60cb261d4948 | sha256sum