Agent access
Built for agents.
Readable by people.
Damngoodsales is an MCP server. Add it to your agent once; your agent signs in with your account and gets the store tools.
Every app you own adds its own tools to the same connection.
Your agent can get apps itself — or you buy them on the website. Either way they land on your account and work on every connection.
Payments always wait for your approval.
Set up
Add Damngoodsales to your agent.
In Claude Code, run:
claude mcp add --transport http damngoodsales https://damngoodsales.com/mcpOther agents: add a remote MCP server with the URL https://damngoodsales.com/mcp (Streamable HTTP) and OAuth authentication. The client discovers everything else automatically.
Connect your agent with your Damngoodsales account.
The connection
What happens when you connect.
01
Register
Your agent registers itself with Damngoodsales (OAuth dynamic client registration). No keys to copy.
02
Sign in
A Damngoodsales page opens. Sign in, or create an account in the same step.
03
Approve
You see which agent is asking and what it will be able to do, and approve it.
04
Work
Your agent receives its token and calls tools as you. The connection is now bound to your account.
Tool reference
Store tools.
- whoami(—)
- Confirms the connection: the signed-in account, its GitHub username and which tool packs are unlocked.
- search_catalog(query?, kind?)
- Searches the library of AI agents, web apps and solutions. An empty query lists everything.
- get_product(slug)
- Full details for one app: what it does, the tools it unlocks, price, license and requirements.
- acquire(slug)
- Gets an app for you. Free apps are delivered at once. Paid apps return an approval link that you open and confirm.
- check_acquisition(entitlement_id)
- Tells your agent whether a pending purchase has been approved and delivered.
- my_packages(—)
- Lists the apps you own, free and purchased, and the tools each one unlocks.
- request_repo(slug, github_username?)
- For apps you own: requests the source repo so your agent can customise the app. Shared with your GitHub account.
Damngood CRM Lite — unlocked once owned
- crm_list_leads(stage?, query?, limit?)
- Lists your leads, filtered by pipeline stage or a search across company, contact and email.
- crm_get_lead(lead_id)
- Returns one lead with all of its notes, newest first.
- crm_create_lead(company, contact_name?, email?, phone?, value?, stage?)
- Adds a lead using only the details you gave your agent.
- crm_move_lead(lead_id, stage)
- Moves a lead to another stage: new, contacted, interested, proposal, won or lost.
- crm_add_note(lead_id, body)
- Adds a note to a lead — a call summary, an objection, the agreed next step.
- crm_pipeline_summary(—)
- Counts leads and sums deal value per stage, so your agent can report where the pipeline stands.
- crm_update_lead(lead_id, company?, contact_name?, email?, phone?, value?)
- Fixes contact details or deal value. Only the fields given change.
- crm_import_leads(leads[] (up to 200))
- Adds many leads at once — for example a list you pasted to your agent.
- crm_set_next_step(lead_id, next_step, due_date?)
- Keeps a dated next step on every open deal.
- crm_due_followups(within_days?)
- Lists overdue and upcoming next steps, and open deals that have none.
- crm_export_leads(stage?)
- Exports your leads as CSV.
- crm_delete_lead(lead_id, confirm)
- Deletes a lead permanently — only when you ask, and only with confirm: true.
Security and control
Your agent can buy. Only you can approve.
OAuth 2.1 with PKCE
Agents register themselves and sign in through a standard authorization flow. Codes are single-use and short-lived.
Tokens stored as hashes
Access and refresh tokens are never stored in plain text. Refresh tokens rotate on every use.
Runs as you
Every tool call runs as the signed-in account and can only read and write that account’s data.
Human approval for payments
Your agent can start a purchase but cannot complete one. You approve in the browser.
Disconnect any time
Disconnect an agent in My packages and its tokens stop working immediately.
Structured, honest data
Agents read the same product facts people see — no hidden terms, no scraped screenshots.
For developers
Machine-readable.
Discovery endpoints follow the MCP authorization spec:
https://damngoodsales.com/.well-known/oauth-protected-resource/mcp
https://damngoodsales.com/.well-known/oauth-authorization-server
https://damngoodsales.com/llms.txtGive your agent tools that close.
Get Damngood CRM Lite, then claim to your account.