{"serverId":"mcp-registry/io.github.astafford8488/pitchiq-mcp","tools":[{"name":"pitchiq_v1_booking_book_guest_slot","fixed":{"name":"pitchiq_v1_booking_book_guest_slot","description":"Book a confirmed guest slot on a PitchIQ host's PUBLIC booking calendar (Calendly-style). Outcome-priced — you pay per confirmed booking. Re-checks slot availability, sends the confirmation email, and pushes to the host's Google Calendar when connected. Find bookable hosts via discover_search_podcasts. x402-payable; no PAT required.","inputSchema":{"type":"object","required":["host_handle","start_at","attendee_name","attendee_email"],"properties":{"start_at":{"type":"string","format":"date-time","description":"Slot start (ISO-8601 UTC). Must be a currently-free slot on the host's calendar — re-checked before insert."},"host_handle":{"type":"string","maxLength":80,"minLength":1,"description":"The PitchIQ host's PUBLIC booking handle (e.g. from discover_search_podcasts). Books on THEIR public calendar, not yours."},"attendee_name":{"type":"string","maxLength":120,"minLength":1,"description":"Name of the guest being booked (the agent's principal)."},"attendee_email":{"type":"string","format":"email","description":"Guest email — receives the confirmation + cancel link."},"attendee_notes":{"type":"string","maxLength":2000,"description":"Pitch / context the host sees alongside the booking."},"duration_minutes":{"type":"integer","default":30,"maximum":240,"minimum":5,"description":"Meeting length. Default 30."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":386,"tokensAfter":386},{"name":"pitchiq_v1_brain_get_index","fixed":{"name":"pitchiq_v1_brain_get_index","description":"Return the workspace 'brain index' — every wiki page's title, slug, and one-line summary, in hierarchy order. Call this at the START of a session to learn what the workspace already knows before searching, asking the user, or creating anything. Requires an active workspace.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105},{"name":"pitchiq_v1_brain_graph_query","fixed":{"name":"pitchiq_v1_brain_graph_query","description":"Traverse the workspace knowledge graph from a specific entity. For wiki_page: returns forward links, backlinks, 5 most similar pages, and CRM entity mentions found in the page text. For contact: returns linked deals, opportunities, tasks, outreach summary, conversation count, and wiki pages mentioning this contact. For deal: returns primary contact, tasks, bookings, conversation count, and wiki pages mentioning this deal. Use this to understand relationships and discover connected information ac","inputSchema":{"type":"object","required":["entity_type","entity_id"],"properties":{"entity_id":{"type":"string","format":"uuid","description":"UUID of the entity to query."},"entity_type":{"enum":["wiki_page","contact","deal"],"type":"string","description":"The type of entity to traverse from."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":238,"tokensAfter":238},{"name":"pitchiq_v1_brain_search","fixed":{"name":"pitchiq_v1_brain_search","description":"Semantic search across the active workspace's wiki (the 'brain'). Finds pages by MEANING — it matches even when you use different words than the page does. Returns ranked pages (title, slug, summary). Prefer this over pitchiq_v1_wiki_search_pages when you don't know the exact wording. Requires an active workspace.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"query":{"type":"string","maxLength":500,"minLength":1,"description":"Natural-language query. Matches by meaning, not exact keywords."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":177,"tokensAfter":177},{"name":"pitchiq_v1_discover_search_creators","fixed":{"name":"pitchiq_v1_discover_search_creators","description":"Search PitchIQ's global Twitch/YouTube creator index by name, category, language, audience size, and whether they accept review keys — for an agent seeking creators to cover a game/product. Returns name, platform handles, followers, avg concurrent viewers, category, and top games. x402-payable; no PAT required.","inputSchema":{"type":"object","properties":{"tier":{"enum":["small","mid","large"],"type":"string","description":"Audience-size tier."},"limit":{"type":"integer","default":20,"maximum":50,"minimum":1},"query":{"type":"string","description":"Free-text match on the creator's display name."},"category":{"type":"string","description":"Filter by primary category."},"language":{"type":"string","description":"Filter by language."},"accepts_keys":{"type":"boolean","description":"Only creators who accept review keys."},"min_followers":{"type":"integer","minimum":0,"description":"Minimum follower count."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":273,"tokensAfter":273},{"name":"pitchiq_v1_discover_search_curators","fixed":{"name":"pitchiq_v1_discover_search_curators","description":"Search PitchIQ's global Steam-curator index by name, tag, language, and audience size — for an agent marketing a game/product into a niche. Returns curator name, Steam URL, follower + review counts, and tags. x402-payable; no PAT required.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Filter by a curation tag (e.g. 'Indie', 'Strategy', 'RPG')."},"limit":{"type":"integer","default":20,"maximum":50,"minimum":1},"query":{"type":"string","description":"Free-text match on the curator's name."},"language":{"type":"string","description":"Filter by language (e.g. 'english')."},"min_followers":{"type":"integer","minimum":0,"description":"Minimum follower count."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":213,"tokensAfter":213},{"name":"pitchiq_v1_discover_search_podcasts","fixed":{"name":"pitchiq_v1_discover_search_podcasts","description":"Search PitchIQ's podcast directory (ListenNotes-indexed). Returns matching shows with title, host, listener tier (small/mid/large), category, and cover image. Useful for finding podcasts an agent should pitch the user onto.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":50,"minimum":1},"query":{"type":"string","description":"Free-text search term (matches title + description)."},"category":{"type":"string","description":"Filter by category (free-text; varies by source)."},"listener_tier":{"enum":["small","mid","large"],"type":"string","description":"Filter by audience size bucket. PitchIQ tiers shows as small / mid / large."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":207,"tokensAfter":207}],"toolsChanged":7,"tokensSaved":0,"todo":[{"tool":"pitchiq_v1_brain_search","params":["limit"]},{"tool":"pitchiq_v1_discover_search_creators","params":["limit"]},{"tool":"pitchiq_v1_discover_search_curators","params":["limit"]},{"tool":"pitchiq_v1_discover_search_podcasts","params":["limit"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}