What you can reach
| Interface | Address | Use it for |
|---|---|---|
| MCP server | https://www.upgrow.com/mcp | Tools for an MCP client such as Claude, Cursor or ChatGPT |
| A2A agent | https://www.upgrow.com/a2a | Ask in plain language, get a message back |
| REST API | https://www.upgrow.com/api/public/v1 | Plain JSON over HTTP, described by OpenAPI |
| OpenAPI 3.1 | https://www.upgrow.com/openapi.json | Generate a client or let an agent read the API |
| llms.txt | https://www.upgrow.com/llms.txt | A plain-text map of UpGrow for language models |
| Account MCP server | https://www.upgrow.com/mcp/account | A user's own account summary and follower growth, after the user approves |
Everything here is read-only. Agents can look up plans, products, tools and articles, and send a user to sign-up. They cannot buy or change anything, and they can read a user's own account only after that user approves (see Account access for agents).
Developer pages
Each part of this page also has its own page, with a markdown copy at the same address plus .md:
- UpGrow MCP server: setup, tools and a test call: JSON config, Claude Code command, the six tools (list_plans, list_products, list_free_tools, search_blog, get_company_facts, get_signup_link) and a curl test call
- UpGrow A2A agent: agent card, endpoint and example: agent card, the JSON-RPC endpoint, the five kinds of questions it answers, SendMessage (A2A 1.0) and message/send (A2A 0.3), with a curl example
- UpGrow REST API: plans, shop products, free tools and blog search: the five public endpoints (plans, products, free tools, blog search, health), their parameters and curl examples
- Account access for agents: OAuth 2.1, API keys and GET /me: OAuth 2.1 with PKCE or a claimed API key, GET /me, the account MCP server at /mcp/account and its three tools
- UpGrow discovery files, agent skills and WebMCP tools: API catalog, AI catalog, MCP server card, A2A agent card, skills index, OpenAPI, llms.txt and OAuth metadata, three agent skills and the six WebMCP browser tools
MCP server
The server speaks MCP over Streamable HTTP at https://www.upgrow.com/mcp. It is stateless: every request is one JSON-RPC message answered with one JSON response. No key is needed.
Add it to an MCP client as a remote server. For clients that read a JSON config:
{
"mcpServers": {
"upgrow": {
"type": "http",
"url": "https://www.upgrow.com/mcp"
}
}
}With the Claude Code command line:
claude mcp add --transport http upgrow https://www.upgrow.com/mcp| Tool | What it returns |
|---|---|
list_plans | Basic, Pro and Turbo with the first-month price, what each includes and the sign-up link |
list_products | The one-time shop products with tiers, starting prices and product page links (optional platform: instagram or tiktok) |
list_free_tools | The free Instagram tools with a link and one-line description |
search_blog | Blog posts matching q (2 to 100 characters), up to limit results (1 to 10) |
get_company_facts | What UpGrow is, how it works, guarantees and support contacts |
get_signup_link | The link where a user starts, plus the pricing and shop pages |
Each tool returns readable text and structuredContent. Try it from a terminal:
curl -s https://www.upgrow.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_plans","arguments":{}}}'The server card describes the endpoint. A GET request to /mcp returns 405 because the server opens no event stream.
A2A agent
The agent card is at https://www.upgrow.com/.well-known/agent-card.json. Send JSON-RPC to https://www.upgrow.com/a2a. The agent answers at once with a message that holds a text part and a data part.
It handles five kinds of questions: plans and pricing, the one-time shop, free tools, blog articles, and getting started. It accepts SendMessage (A2A 1.0) and message/send (A2A 0.3).
curl -s https://www.upgrow.com/a2a \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"messageId":"m-1","role":"ROLE_USER","parts":[{"text":"What does UpGrow cost?"}]}}}'REST API
Base address: https://www.upgrow.com/api/public/v1. Responses are JSON, allow any origin (CORS) and are cacheable, except /health. The full description is in openapi.json.
| Request | Returns |
|---|---|
GET / | An index of these endpoints with their full addresses |
GET /plans | Basic, Pro and Turbo: first-month price, what each includes, sign-up link |
GET /products | One-time shop products with tiers, starting prices and product page links |
GET /free-tools | Free Instagram tools: name, link, one-line description |
GET /blog/search?q=&limit= | Blog posts matching q (2 to 100 characters); limit 1 to 10, default 5; a bad value returns 400 |
GET /health | {"status":"ok"}, never cached |
curl -s https://www.upgrow.com/api/public/v1/planscurl -s 'https://www.upgrow.com/api/public/v1/blog/search?q=instagram%20reels&limit=3'curl -s https://www.upgrow.com/api/public/v1/products
curl -s https://www.upgrow.com/api/public/v1/free-tools
curl -s https://www.upgrow.com/api/public/v1/healthAccount access for agents
With the user's approval, an agent can read that user's UpGrow account summary: connected accounts, growth numbers and plan status. It is read-only: no changes, no purchases, and never prices, payment or card details. The step-by-step instructions for agents are in auth.md.
| Request | Returns |
|---|---|
GET /me | The signed-in user's email, connected Instagram and TikTok accounts (connection status, followers now and when added, plan name and status). Needs Authorization: Bearer <token> with scope account:read |
POST /mcp/account | Account MCP server with the tools get_account_summary, list_connected_accounts and get_growth_stats |
There are two ways to get a token:
- OAuth 2.1 for MCP clients and apps: register at
https://www.upgrow.com/api/oauth/register, send the user tohttps://www.upgrow.com/oauth/authorize(PKCE S256 required), then exchange the code athttps://www.upgrow.com/api/oauth/token. Access tokens last one hour; refresh tokens rotate. - An API key for agents that cannot open a browser:
POST https://www.upgrow.com/api/agents/auth/registerreturns a key at once. The user then opens a claim link, signs in and approves, and the key can read their account.
A token works only at the address it was issued for (the RFC 8707 resource): the REST API or the account MCP server. A grant lasts up to 90 days, and the user can revoke it at any time under Settings, Security, Connected AI agents.
MCP clients that support OAuth only need the server address. They find the rest on the first 401 response:
claude mcp add --transport http upgrow-account https://www.upgrow.com/mcp/accountcurl -s https://www.upgrow.com/api/public/v1/me -H 'Authorization: Bearer <token>'- https://www.upgrow.com/.well-known/oauth-authorization-server: authorization server metadata (RFC 8414)
- https://www.upgrow.com/.well-known/oauth-protected-resource: protected resource metadata (RFC 9728); the account MCP server has its own at
/.well-known/oauth-protected-resource/mcp/account - https://www.upgrow.com/auth.md: agent registration, claim, errors and revocation
In the browser (WebMCP)
In browsers that support WebMCP, UpGrow pages register tools an agent can call while the user watches: get_plans, list_products, search_blog, list_free_tools, open_signup and open_page (pages on www.upgrow.com only). Other browsers download nothing extra.
Discovery files
Agents and crawlers can find every interface on these developer pages without reading them:
- https://www.upgrow.com/.well-known/api-catalog: API catalog (RFC 9727)
- https://www.upgrow.com/.well-known/ai-catalog.json: catalog of the MCP server, A2A agent, OpenAPI document and skills
- https://www.upgrow.com/.well-known/mcp/server-card.json: MCP server card
- https://www.upgrow.com/.well-known/agent-card.json: A2A agent card
- https://www.upgrow.com/.well-known/agent-skills/index.json: agent skills index
- https://www.upgrow.com/.well-known/poppy.json: organization discovery file
- https://www.upgrow.com/openapi.json: OpenAPI 3.1 description
- https://www.upgrow.com/llms.txt: plain-text site map for language models
- https://www.upgrow.com/.well-known/oauth-authorization-server and https://www.upgrow.com/auth.md: how agents get account access
The home page also sends a Link header that points to the API catalog, the OpenAPI document, the developers page, llms.txt and the health endpoint.
Agent skills
Three short skill files tell an agent how to use UpGrow well:
- choose-upgrow-offer: pick a growth plan or one-time product and send the user to sign-up
- use-upgrow-agent-api: connect to the MCP server, A2A agent and REST API
- find-upgrow-tools-and-guides: point a user to a free tool or a blog guide
Questions
For anything this page does not cover, use Contact UpGrow. To start with UpGrow, go to https://www.upgrow.com/setup. UpGrow never asks for an Instagram password.