apinoa-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| APINOA_API_KEY | Yes | Required for every data call. Create a key under Dashboard > API keys at apinoa.com. | |
| APINOA_BASE_URL | No | Base URL for the apinoa API gateway. | https://gateway.apinoa.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_docsA | Find how to do a task with apinoa: the matching operations as you call them in execute (e.g. apinoa.tiktok.posts({ hashtag })), every parameter, the cost per call, and the fields of what they return. Free: it calls nothing. Use it before writing code. Pass words ('tiktok hashtag videos', 'instagram reels of an account', 'amazon product reviews'), a platform, or a type name ('Post'); with neither you get the list of every operation. Platforms: aliexpress, amazon, instagram, linkedin, reddit, shopify, threads, tiktok, tiktokshop, walmart, x, youtube. |
| executeA | Run TypeScript that calls the apinoa API, and get back only what it prints or returns. Use it for every data task, from one call to thousands: fan out over accounts or posts, follow pages, then filter, count, rank and average in the code, so raw API answers never fill the conversation. The code is the body of an async function: use await, and
Example: const page = await apinoa.tiktok.posts({ hashtag: "glassskin", limit: 50 }); const authors = [...new Set(page.items.map((p) => p.author.handle))].slice(0, 10); const recent = await many(authors, (u) => apinoa.tiktok.posts({ username: u, limit: 30 })); return authors.map((u, i) => { const views = (recent[i]?.items ?? []).map((p) => p.metrics?.views ?? 0).sort((a, b) => a - b); return { author: u, median: views[Math.floor(views.length / 2)] ?? null }; }); Operations (call search_docs with words or a platform for parameters, costs and the fields returned):
|
| translate_imageA | Replace the text inside a product image with a translation, keeping fonts, colours and layout. Give the image as a URL. Returns the translated image. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
The three tools have clearly separate roles: search_docs is a free, non-billing documentation lookup, execute runs TypeScript against the API, and translate_image rewrites text in an image. The one soft spot is translate_image, which is a single concrete operation living outside the execute/search_docs pattern, so an agent may briefly wonder whether it is also reachable as an apinoa.* operation.
All three names are snake_case and verb-first (search_docs, execute, translate_image), so the convention is predictable. 'execute' is a bare verb without a noun, which is a minor deviation from the verb_noun pattern of the other two.
Three tools is lean, but the design intentionally pushes a very large operation surface (13 platforms, dozens of operations) through a single code-execution tool, so the small count is earned rather than thin. The only questionable inclusion is translate_image, which is a narrow one-off in an otherwise general orchestration set.
Discovery (search_docs), execution (execute with pages/many/store/usage helpers), and broad platform coverage including search, browse, profile, posts, comments, reviews, jobs and catalogs form a coherent lifecycle for a data-extraction API. Minor gaps remain: budget/usage and stored data are only reachable by writing code, and there is no standalone auth or setup/status tool.