Connect with MCP

Weir runs a remote MCP server. Point any MCP client at this URL:

https://api.weirapp.io/mcp

There is nothing to install. The server speaks Streamable HTTP, so no client needs a local bridge.

Two ways to authorize

The client decides which one it uses.

  • Sign in (OAuth). Chat apps and most coding agents open a browser. You sign in to Weir, approve the connection, and the client keeps the token. You never copy a key. The connection appears under API keys as <client> (MCP).
  • API key. Anything that runs without a person at a browser sends a Weir key as Authorization: Bearer weir_live_.... That covers CI, claude -p, the Claude API and OpenAI API connectors, agent frameworks, and n8n.

Pick your client

Client Authorizes with Setup
Claude (web, Desktop, mobile) OAuth Claude and ChatGPT
ChatGPT OAuth Claude and ChatGPT
Claude Code OAuth or key Coding agents
Codex OAuth or key Coding agents
Cursor OAuth Coding agents
VS Code (GitHub Copilot) OAuth or key Coding agents
Devin Desktop (formerly Windsurf) OAuth or key Coding agents
Gemini CLI OAuth or key Coding agents
Zed OAuth or key Coding agents
Cline OAuth or key Coding agents
Goose OAuth or key Coding agents
Continue Key Coding agents
Claude API (MCP connector) Key APIs and frameworks
OpenAI Responses API Key APIs and frameworks
OpenAI Agents SDK Key APIs and frameworks
LangChain Key APIs and frameworks
Vercel AI SDK Key APIs and frameworks
n8n Key or OAuth APIs and frameworks

Claude and ChatGPT cannot send an API key. Cursor ignores one while the server offers sign-in, so it signs in too.

Check that it works

Ask your agent:

What's my Weir usage?

It should call get_usage, which is free, and answer with your credit balance.

Tools

Each tool is named after the API operation it calls, in snake_case: searchReddit is search_reddit. Every connection gets these:

Tool Does Credits
search_reddit Search public Reddit posts 1 + 3 per Reddit post
get_reddit_post Get one public Reddit post 1 + 3 per Reddit post
get_subreddit Get information about a public subreddit 1 + 1 per subreddit
search_subreddit Search posts within one subreddit 1 + 3 per Reddit post
get_reddit_comments Get a Reddit comment tree as a flat list, page by page 1 + 3 per Reddit comment
get_subreddit_posts List a community's posts: hot, new, rising, top, or controversial 1 + 3 per Reddit post
get_subreddit_comments Read a community's newest comments, across every post 1 + 3 per Reddit comment
search_subreddits Find communities by name or topic 1 + 1 per subreddit
get_reddit_user Get a Reddit account's public profile 1 + 1 per Reddit user
get_reddit_user_posts List the posts an account has submitted 1 + 3 per Reddit post
get_reddit_user_comments List the comments an account has made 1 + 3 per Reddit comment
lookup_reddit Fetch up to 100 posts and comments, and 100 communities, in one call 1 + 3 per Reddit post + 3 per Reddit comment + 1 per subreddit
search_x Search public X posts with composable filters 1 + 1 per X post
get_x_posts Get up to 100 public X posts by id 1 + 1 per X post
get_x_post Get one public X post 1 + 1 per X post
get_x_replies Get replies to an X post 1 + 1 per X post
get_x_thread Get the author's thread containing a post 1 + 1 per X post
get_x_quotes Get posts quoting an X post 1 + 1 per X post
get_x_retweeters Get accounts that reposted an X post 1 + 1 per X user result
get_x_post_edits Get the edit history of an X post 1 + 1 per X post
get_x_users Get up to 100 public X profiles by id 1 + 2 per X profile
search_x_users Search X accounts 1 + 1 per X user result
get_x_user Get a public X profile 1 + 2 per X profile
get_x_user_about Get an X account's "About this account" details 1 + 2 per X profile
get_x_user_posts Get a public X user timeline 1 + 2 per X profile + 1 per X post
get_x_user_replies Get an X account's posts and replies 1 + 2 per X profile + 1 per X post
get_x_user_media Get an X account's posts with media 1 + 2 per X profile + 1 per X post
get_x_user_highlights Get the posts an X account highlights 1 + 2 per X profile + 1 per X post
get_x_user_followers Get an X account's followers 1 + 2 per X profile + 1 per X user result
get_x_user_following Get the accounts an X account follows 1 + 2 per X profile + 1 per X user result
get_x_user_affiliates Get an organisation's affiliated X accounts 1 + 2 per X profile + 1 per X user result
get_x_user_subscriptions Get the creators an X account subscribes to 1 + 2 per X profile + 1 per X user result
get_x_list Get a public X List 1 + 2 per X list
get_x_list_members Get the members of a public X List 1 + 1 per X user result
get_x_list_posts Get the timeline of a public X List 1 + 1 per X post
get_x_space Get an X Space 1 + 2 per X space
get_usage Credit balance, holds, and this month's free grant Free
get_limits Ceilings imposed by the account's tier Free
get_identity Identify the account and scopes behind this key Free

Credits are per call plus per result returned, the same as the REST API. A failed or refused call costs nothing. Each tool returns the same response shapes as the endpoint behind it, and paged tools take the cursor from meta.nextCursor.

These appear only on a connection that was granted monitor or webhook access when it was approved:

Tool Does Credits
list_monitors List monitors Free
create_monitor Create a monitor Free
get_monitor Get one monitor Free
update_monitor Update a monitor Free
delete_monitor Delete a monitor Free
list_monitor_results List deduplicated results a monitor has found Free
list_monitor_runs List a monitor's execution history Free
run_monitor Queue a monitor run immediately Free
list_webhooks List webhooks Free
create_webhook Create a webhook Free
update_webhook Update a webhook Free
delete_webhook Delete a webhook Free
test_webhook Queue a test delivery Free
list_webhook_deliveries List recent delivery attempts Free

They are separate because a monitor keeps running, and spending credits, after the agent stops.

Revoking

Every signed-in connection appears under API keys as <client> (MCP). Revoke it there and it stops working. A client that connected with an API key stops when you revoke that key.

Troubleshooting

  • Claude cannot reach the server. Claude connects from Anthropic's cloud, not your machine, so the URL must be public. claude_desktop_config.json is for local servers and does not take this URL.
  • The free Claude plan allows one custom connector. Remove another to add Weir.
  • Cursor ignores the key in mcp.json. Expected. Remove the header and sign in.
  • Cline will not connect. Set "type": "streamableHttp". Without it Cline uses the older SSE transport.
  • n8n answers 405. Set the MCP Client Tool's server transport to HTTP Streamable.
  • A tool returns 402. The account is out of credits. Only a person can clear it, by adding credits at https://weirapp.io/dashboard/billing. Retrying never will.

What agents get wrong

Worth putting in your system prompt:

  • Start at limit: 10. Widen once the results look right.
  • Never retry a 402. Only a person can clear it, by adding credits.
  • Filter in the query, not afterwards. Every result returned is billed, including the ones you discard.
  • Read the cost of an unfamiliar call before looping on it.

View this page as Markdown