{"name":"com.soundgtm/partner-tracker","title":"SoundGTM","version":"1.0.0","description":"AI-native PRM: track partner pipeline, deals, and commissions, and manage partner outreach.","website_url":"https://partnertracker.soundgtm.com","documentation_url":"https://partnertracker.soundgtm.com/docs/mcp","privacy_policy_url":"https://www.soundgtm.com/privacy-policy","remotes":[{"type":"streamable-http","url":"https://partnertracker.soundgtm.com/api/mcp","authentication":{"type":"oauth2","authorization_server":"https://partnertracker.soundgtm.com","protected_resource_metadata":"https://partnertracker.soundgtm.com/.well-known/oauth-protected-resource/api/mcp","scopes_supported":["read","read_write","openid","email"],"alternatives":[{"type":"bearer","description":"SoundGTM MCP API key"}]}}],"capabilities":{"tools":true,"resources":false,"prompts":false},"tools":[{"name":"pipeline_summary","title":"Get pipeline summary","description":"High-level pipeline summary: deal counts by stage, risk distribution, pipeline value, pending commissions, and partner health.","docsSummary":"Deal counts by stage, at-risk count, pending commission totals","scope":"read","annotations":{"title":"Get pipeline summary","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_deals","title":"List deals","description":"List deals in the pipeline with optional filters. Returns up to 100 deals, highest-risk first.","docsSummary":"List deals with filters (stage, partner, risk, conversion status)","scope":"read","annotations":{"title":"List deals","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_stalled_deals","title":"List stalled deals","description":"List OPEN deals that are at risk or stalled (amber or red), ordered by risk score. Excludes won/lost (closed) deals. Includes deals whose dashboard nudge was dismissed — dismissing a nudge hides the reminder, not the deal — so this can list stalled deals that get_action_queue omits.","docsSummary":"Deals with amber or red risk scores","scope":"read","annotations":{"title":"List stalled deals","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_deal","title":"Get deal details","description":"Get full details for a single deal: partner info, team members, and recent activity.","docsSummary":"Full deal detail: members, recent events","scope":"read","annotations":{"title":"Get deal details","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"update_deal_stage","title":"Update deal stage","description":"Move a deal to a new pipeline stage. Triggers payout milestones and logs a stage-change event.","docsSummary":"Move a deal to a new stage","scope":"read_write","annotations":{"title":"Update deal stage","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}},{"name":"convert_deal","title":"Mark deal converted","description":"Mark a deal as converted (won). Records the conversion, creates payout records, and notifies the partner. Use when the user says a deal closed/converted, independent of its pipeline stage.","docsSummary":"Mark a deal as converted — creates payout records and notifies the partner","scope":"read_write","annotations":{"title":"Mark deal converted","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true}},{"name":"attach_deal_to_partner","title":"Attach a deal to a partner","description":"Attach a deal that has no partner to an existing partner, or to a brand-new partner created on the spot. Use for deals that arrived without attribution (landing-page captures, CSV imports, CRM syncs). Creating a partner this way sends no email and gives no portal access — that stays a separate decision.","docsSummary":"Attach an unattributed deal to an existing partner, or to a new partner created on the spot (no email, no portal access)","scope":"read_write","annotations":{"title":"Attach a deal to a partner","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},{"name":"list_partners","title":"List partners","description":"List partners with optional filters. Returns partner name, status, health score, and deal count.","docsSummary":"List partners with filters (status, tag, program, at-risk)","scope":"read","annotations":{"title":"List partners","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_partner_detail","title":"Get partner detail","description":"Get full detail for one partner: deals, commission terms, team members, and health score.","docsSummary":"Partner's deals, commission terms, health score","scope":"read","annotations":{"title":"Get partner detail","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"invite_partner","title":"Invite partner","description":"Invite a new referral partner by email. Sends an invitation email with a claim link.","docsSummary":"Send a partner invite email","scope":"read_write","annotations":{"title":"Invite partner","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}},{"name":"list_programs","title":"List partner programs","description":"List the org's partner programs with ids, partner counts, and whether each is ready to accept partner invites. Call this before invite_partner to resolve the program_id.","docsSummary":"Your partner programs and their settings","scope":"read","annotations":{"title":"List partner programs","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_action_queue","title":"Get action queue","description":"Get the org's prioritized 'do this next' queue: stalled deals to nudge, pending deal registrations, commission authorizations awaiting approval, AI-recommended actions, inactive partners to re-engage, open tasks, and partner-recruitment opportunities. Call this when the user asks what to do next or what needs attention.","docsSummary":"Your prioritized do-this-next queue","scope":"read","annotations":{"title":"Get action queue","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_ideal_partner_profile","title":"Get ideal partner profile","description":"Get the org's Ideal Partner Profile (IPP): who their best-fit referral partners are — traits, verticals, size, geography, motivation — plus a one-paragraph prospect description for outreach. Returns exists=false when none has been saved yet; a new profile can be created with save_ideal_partner_profile.","docsSummary":"Your saved Ideal Partner Profile","scope":"read","annotations":{"title":"Get ideal partner profile","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"save_ideal_partner_profile","title":"Save ideal partner profile","description":"Save (create or replace) the org's Ideal Partner Profile after building it with the user. profile_markdown is the full profile and should cover seven sections: top partner industries (with why), company-size ranges, target geographies, required tech stack or product compatibility, critical partner attributes, disqualifiers/red flags, and suggested sourcing channels. prospect_description is a one-paragraph 'who to look for' summary usable in outreach.","docsSummary":"Create or replace your Ideal Partner Profile","scope":"read_write","annotations":{"title":"Save ideal partner profile","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false}},{"name":"list_pending_commissions","title":"List pending commissions","description":"List commissions pending payment (statuses: pending_authorization, required, processing, failed). Returns partner name, deal name, amount, and status.","docsSummary":"All commissions awaiting payment","scope":"read","annotations":{"title":"List pending commissions","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"authorize_commissions","title":"Authorize commissions (no payment sent)","description":"Approve pending commission payouts, moving them from 'pending_authorization' to 'required' so they join the payment queue. This sends no money and creates no Stripe transfer — completing the payout is a separate step on the Payments page in the dashboard.","docsSummary":"Bulk-approve commissions for payment (does not send money — transfers stay on the Payments page)","scope":"read_write","annotations":{"title":"Authorize commissions (no payment sent)","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false}},{"name":"mark_commission_paid","title":"Record commission as already paid","description":"Bookkeeping only — records a payout you already sent outside SoundGTM (wire, ACH, invoice). Sends no money and creates no Stripe transfer. Notifies the partner only if they are not set up to receive payouts through Stripe. To actually pay a partner, use the Payments page in the dashboard.","docsSummary":"Record a commission you already paid outside SoundGTM (bookkeeping only — sends no money)","scope":"read_write","annotations":{"title":"Record commission as already paid","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true}},{"name":"send_announcement","title":"Send partner announcement","description":"Send an announcement to all or selected partners. Sends in-app notifications and emails.","docsSummary":"Send an announcement to all or selected partners","scope":"read_write","annotations":{"title":"Send partner announcement","readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}},{"name":"draft_partner_email","title":"Draft partner email","description":"Create a Gmail draft to a partner contact. Only creates the draft — never sends. Requires Gmail to be connected in Settings → Integrations. Returns the draft URL where the user can review and send.","docsSummary":"Create a Gmail draft addressed to a partner — never sends","scope":"read_write","annotations":{"title":"Draft partner email","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}}]}