@mambalabsdev/mcp-talent-agency-lookup 1.1.1 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/build/index.js +11 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://glama.ai/mcp/servers/mambalabsdev/mcp-talent-agency-lookup) [](https://registry.modelcontextprotocol.io/v0/servers?search=com.mambabuilt/mcp-talent-agency-lookup&limit=1) [](https://www.npmjs.com/package/@mambalabsdev/mcp-talent-agency-lookup) [](https://www.npmjs.com/package/@mambalabsdev/mcp-talent-agency-lookup) [](https://github.com/mambalabsdev/mcp-talent-agency-lookup/blob/main/LICENSE) [](https://mcpservers.org/servers/mambalabsdev/mcp-talent-agency-lookup)
|
|
4
4
|
|
|
5
|
+
<a href="https://mcprush.com/to/talent-agency-lookup-mcp?ref=badge"><img width="380" height="200" src="https://mcprush.com/badge/talent-agency-lookup-mcp/card.svg" alt="Talent Agency Lookup MCP server" /></a>
|
|
6
|
+
|
|
5
7
|
MCP server for the Mamba Labs [Influencer Talent Agency Lookup](https://apify.com/mambalabs/talent-agency-lookup) actor on Apify.
|
|
6
8
|
|
|
7
9
|
Creator handles in, the talent agency behind each one out. Or an agency in, its public creator roster out.
|
|
@@ -50,6 +52,7 @@ All three call the same actor, so the pricing below applies to each. The two dir
|
|
|
50
52
|
| `escalate_on_block` | boolean | no | On by default. A profile fetch that comes back as a bot detection page is retried once over the residential proxy. On Instagram the bio, bio link, and following are read from the profile page over residential when the embed and the datacenter API did not carry them, and a page that comes back readable charges instagram-bio-fetch ($0.010). Uncheck it to never pay that event: a blocked profile then returns a labeled error row, and Instagram rows keep an empty bio and bio link on about half of the reads. Default `true`. |
|
|
51
53
|
| `batch_size` | integer | no | Rows fetched at once. Leave empty for the measured per platform default; the measurement is in the [actor README](https://apify.com/mambalabs/talent-agency-lookup#-batch-or-single). Higher is faster and, above the measured point, loses rows. |
|
|
52
54
|
| `contribute_to_shared_pool` | boolean | no | On by default. The run contributes the public records it finds to a shared creator and agency pool that all users of this actor read from, so a later run reads what this one found. Only public data that is already in your own output rows is sent: nothing from your Apify account, your input list, your API keys, or your own notes. Nothing is charged for a contribution. Turn this off and the run still reads the pool and writes nothing to it. Default: true. |
|
|
55
|
+
| `max_charge_usd` | number | no | Optional spending cap for this call, in USD. The actor stops before any charge that would take the run past this amount and keeps every row already charged. |
|
|
53
56
|
|
|
54
57
|
Nothing is required, but a call with no `handles`, no `agency_domains`, and no `agency_names` has nothing to look up and the run fails with a message saying so.
|
|
55
58
|
|
package/build/index.js
CHANGED
|
@@ -5,6 +5,13 @@ import { dirname, join } from "node:path";
|
|
|
5
5
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
6
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
7
7
|
import { z } from "zod";
|
|
8
|
+
// Optional per call spending cap, passed through to the actor's own max_charge_usd
|
|
9
|
+
// input. The actor enforces it; this wrapper only forwards it when set.
|
|
10
|
+
const MAX_CHARGE_USD = z
|
|
11
|
+
.number()
|
|
12
|
+
.min(0)
|
|
13
|
+
.optional()
|
|
14
|
+
.describe("Optional spending cap for this call, in USD, passed to the actor as max_charge_usd. The run stops before any charge that would take it past this amount and keeps every row already charged. Leave empty to rely only on the maximum charge per run set on your Apify account.");
|
|
8
15
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
9
16
|
const pkg = JSON.parse(readFileSync(join(here, "..", "package.json"), "utf8"));
|
|
10
17
|
// Distinctive UA so Apify run meta.userAgent marks MCP-originated runs.
|
|
@@ -186,6 +193,7 @@ const fields = {
|
|
|
186
193
|
// Shared pool toggle. The actor input field shipped in build 0.1.11; this mirror exists so an
|
|
187
194
|
// MCP caller can turn the contribution off.
|
|
188
195
|
contribute_to_shared_pool: z.boolean().optional().describe("On by default. The run contributes the public records it finds to a shared creator and agency pool that all users of this actor read from, so a later run reads what this one found. Only public data that is already in your own output rows is sent: nothing from your Apify account, your input list, your API keys, or your own notes. Nothing is charged for a contribution. Turn this off and the run still reads the pool and writes nothing to it. Default: true."),
|
|
196
|
+
max_charge_usd: MAX_CHARGE_USD,
|
|
189
197
|
};
|
|
190
198
|
const PRICING = "Charges $0.001 per run (actor-start) plus $0.008 per row returned (agency-lookup), $0.004 per agency roster page rendered in the headless browser when render_unreadable_pages is on and the page comes back readable (browser-render), and $0.01 per Instagram bio fetch over the residential proxy when escalate_on_block is on and one is needed (instagram-bio-fetch).";
|
|
191
199
|
const POOL = "Contributes the public records it finds to a shared creator and agency pool that all users of this actor read from; set contribute_to_shared_pool to false to read the pool and write nothing. A contribution is not charged.";
|
|
@@ -193,7 +201,7 @@ const COVERAGE = "The agency list is seeded from 13 public directories (143 agen
|
|
|
193
201
|
const LIMITS = "It does not search for creators and does not read X, Facebook pages, or LinkedIn. Requires an APIFY_TOKEN and consumes Apify credits. Read only.";
|
|
194
202
|
const annotations = (title) => ({
|
|
195
203
|
title,
|
|
196
|
-
readOnlyHint:
|
|
204
|
+
readOnlyHint: false,
|
|
197
205
|
destructiveHint: false,
|
|
198
206
|
idempotentHint: true,
|
|
199
207
|
openWorldHint: true,
|
|
@@ -209,6 +217,7 @@ server.registerTool("lookup_agency_for_creator", {
|
|
|
209
217
|
escalate_on_block: fields.escalate_on_block,
|
|
210
218
|
batch_size: fields.batch_size,
|
|
211
219
|
contribute_to_shared_pool: fields.contribute_to_shared_pool,
|
|
220
|
+
max_charge_usd: MAX_CHARGE_USD,
|
|
212
221
|
},
|
|
213
222
|
}, async (args) => callActor(args));
|
|
214
223
|
server.registerTool("list_agency_roster", {
|
|
@@ -220,6 +229,7 @@ server.registerTool("list_agency_roster", {
|
|
|
220
229
|
agency_names: fields.agency_names,
|
|
221
230
|
render_unreadable_pages: fields.render_unreadable_pages,
|
|
222
231
|
contribute_to_shared_pool: fields.contribute_to_shared_pool,
|
|
232
|
+
max_charge_usd: MAX_CHARGE_USD,
|
|
223
233
|
},
|
|
224
234
|
}, async (args) => callActor(args));
|
|
225
235
|
// The original combined tool, kept so existing callers keep working. It runs
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mambalabsdev/mcp-talent-agency-lookup",
|
|
3
3
|
"displayName": "Influencer Talent Agency Lookup",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.1",
|
|
5
5
|
"description": "MCP server for the Mamba Labs Influencer Talent Agency Lookup actor on Apify. Creator handles in, the talent agency behind each one out, or an agency in, its public roster out.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|