Skip to content

MCP server and API

Work with your Needle leads from your AI assistant

Needle finds people on Reddit, Hacker News, forums and other communities who need a product like yours, scores them by buying intent, and drafts replies you post yourself. The MCP server lets Claude Code, Cursor, Windsurf and other MCP clients do that work with your account.

On Growth and Scale. Needle never posts on your behalf.

What you can ask

Talk to your assistant the way you would talk to a teammate. Here is what happens behind a few common requests.

  • “Who should I reply to today?”

    The assistant calls get_leads. By default it returns only actionable leads (hot leads and posts worth engaging) that are still in your inbox, newest first.

  • “Draft replies for my top 5 leads”

    It reads each lead with get_lead, then calls draft_reply. You get two drafts per lead, a best and an alternate, in your brand voice. Each draft call uses one of your daily reply drafts.

  • “Find people switching from <competitor> this week”

    get_leads filters by intent type, including switching, and by date. For a competitor you do not monitor yet, search runs a fresh live search.

  • “Summarise this week’s pain points with quotes”

    It pulls this week’s pain leads and their full post text, and can add get_trending_problems for problems people are discussing across communities.

  • “Search Reddit and Hacker News for “crm for freelancers””

    search takes 1 to 5 keywords and returns up to 10 leads per network and 40 in total. It can take a few minutes, so the assistant checks back with get_search.

The 9 tools

Your assistant picks the right tool for each request. Each successful call counts as one API call, except get_usage and get_search, which are free.

Needle MCP tools, what each one does, whether it changes data, and whether it counts against the monthly API quota
ToolWhat it doesEffectQuota
list_brandsLists the brands (products) your account monitors, with their keywords, networks and schedule.Read-only1 call
get_leadsReturns saved leads, newest first. Filter by brand, intent type, network and date. Up to 50 per page.Read-only1 call
get_leadReturns one lead with its full post text (up to 4,000 characters), tier, intent and the evidence sentence.Read-only1 call
update_lead_statusMarks up to 100 leads as inbox, replied, done or dismissed.Changes triage status in Needle only. Nothing is posted.1 call
searchRuns a live search for 1 to 5 keywords across community networks. Returns a search_id and the best leads found.Starts a search. Uses one daily search run.1 call
get_searchReturns the status and leads of a search. Used to check back on a search that is still running.Read-onlyFree
draft_replyWrites two reply drafts (best and alternate) for one lead, in your brand voice.Uses one daily reply draft. Nothing is posted.1 call
get_trending_problemsLists problems people are discussing across communities, ranked by how much they are trending. Not tied to your brands.Read-only1 call
get_usageShows your plan, API calls left this month, and searches and drafts left today.Read-onlyFree

A search can take a few minutes. search returns a search_id straight away, and the assistant calls get_search about every 30 seconds until the leads are ready. Full parameters and errors are in the MCP docs.

Set it up

Any MCP client that lets you set a request header can connect today.

  1. Choose Growth or Scale

    The API and MCP server come with Growth and Scale. Solo does not include API access.

  2. Create a key

    In Needle, open Settings → API & MCP and create a personal API key. It starts with ndl_live_.

  3. Add Needle to your client

    Paste one of the snippets below and replace ndl_live_… with your key.

Claude Code

Run this in your terminal.
claude mcp add --transport http needle https://api.useneedle.net/mcp --header "Authorization: Bearer ndl_live_…"

Cursor and Windsurf

Add this to your mcp.json.
{
  "mcpServers": {
    "needle": {
      "url": "https://api.useneedle.net/mcp",
      "headers": {
        "Authorization": "Bearer ndl_live_…"
      }
    }
  }
}

Other MCP clients

Use these details in any client that supports remote servers with custom headers.

URL
https://api.useneedle.net/mcp
Transport
Streamable HTTP, stateless
Auth header
Authorization: Bearer ndl_live_… (or x-api-key)
MCP revisions
2025-11-25 and 2026-07-28

Coming soon: claude.ai and ChatGPT. One-click claude.ai custom connectors and ChatGPT apps are not available yet. They need OAuth sign-in, which we are adding. Until then, use Claude Code, Cursor, Windsurf or another client that accepts a header.

How keys work

Every request carries a personal API key. You decide what each key can do and how long it lives.

  • One personal key per use

    Create keys in Settings → API & MCP. You can have up to 10 active keys, so each tool or script can get its own.

  • Scopes per key

    Choose what each key may do. A key for reporting can stay read-only.

  • Optional expiry

    Set a key to expire after 30, 90, or 365 days, or keep it until you revoke it.

  • Revoke anytime

    A revoked key stops working within seconds. Create a new one when you need it.

  • Headers, never URLs

    Send the key as Authorization: Bearer or x-api-key. Never put it in a URL, where it can end up in logs and browser history.

  • Same account, same limits

    The assistant works with your brands and leads. Searches and drafts share your daily limits with the dashboard.

Limits and plans

The API and MCP server are on Growth and Scale. Solo has no API access.

  • Growth $49/mo

    1,000

    API calls a month

  • Scale $149/mo

    10,000

    API calls a month

  • Each successful tool call counts as one. get_usage and get_search are free.
  • Rate limits: 60 requests a minute per key, 300 a minute per account.
  • Searches and reply drafts also use your plan’s daily limits, shared with the dashboard.
  • Up to 10 active keys per account.

Compare plans

Security and privacy

Your assistant gets the access you give it, and nothing gets posted in your name.

  • Keys are hashed

    Needle stores a hash of each key, never the key in plain text.

  • Needle never posts

    No tool posts, replies or messages anyone. Drafts are text for you to review and post yourself.

  • Read-only keys

    Scope a key to read-only tools when the assistant only needs to look.

  • Instant revoke

    If a key leaks or a laptop goes missing, revoke the key and it stops working at once.

Prefer plain HTTP? Use the REST API

The same keys work with the REST API, for n8n, Make, Zapier, Clay and your own scripts.

Base URL
https://api.useneedle.net/v1
OpenAPI 3.1 spec
https://api.useneedle.net/v1/openapi.json

REST API docsWebhooks

REST API

Leads from the last 24 hours.
curl https://api.useneedle.net/v1/leads?since=24h -H "Authorization: Bearer ndl_live_…"

Questions

What is the Needle MCP server?
It lets an AI assistant work with your Needle account. The assistant can read your leads, run searches, draft replies and update lead status, using 9 tools. It connects over Streamable HTTP at api.useneedle.net/mcp with a personal API key.
Which AI assistants can I connect today?
Any MCP client that lets you set a request header: Claude Code, Cursor, Windsurf and others. One-click claude.ai custom connectors and ChatGPT apps are not available yet. They need OAuth sign-in, which is coming soon.
Which plans include the MCP server and API?
Growth ($49/mo) and Scale ($149/mo). Solo does not include API access.
How are API calls counted?
Each successful tool call counts as one. get_usage and get_search are free. Growth includes 1,000 and Scale includes 10,000 calls a month. Searches and reply drafts also use your plan’s daily limits, shared with the dashboard.
Can the assistant post replies for me?
No. Needle never posts on your behalf. draft_reply returns text for you to review and post yourself, and update_lead_status only changes the triage status inside Needle.
How do I keep my API key safe?
Send it in the Authorization header (or x-api-key), never in a URL. Give each key only the scopes it needs, set an expiry of 30, 90, or 365 days if you like, and revoke it anytime in Settings. Needle stores a hash of the key, never the key in plain text.
Why does a search take a few minutes?
A live search checks several community networks and can take a few minutes. search waits up to 25 seconds: if the search has finished, you get the leads right away. If not, it returns a search_id and the assistant calls get_search to check on it. get_search is free.
Can I use Needle from n8n, Make, Zapier or Clay?
Yes, with the REST API at api.useneedle.net/v1. It uses the same API keys, and an OpenAPI 3.1 spec is at /v1/openapi.json. It is on Growth or Scale.

Bring your leads into your assistant

Choose Growth or Scale, create a key in Settings, and ask your assistant who to reply to today.