Potarix enricher
OfficialThe Potarix enricher server provides AI agents with tools to gather company and contact intelligence, and manage billing credits.
Data Enrichment
Look up a company website (
lookup_company_website): Resolve a company name to its official website URL (2 credits)Find a person's email (
find_person_email): Given a name and company/domain, return a verified email address (25 credits)Find a decision maker's email (
find_decision_maker_email): Given a domain and role category (e.g. 'ceo', 'sales'), return the likely buyer's name and verified email (25 credits)Find email from LinkedIn (
find_linkedin_email): Provide a LinkedIn profile URL and get back a verified email (10 credits)Find all company emails (
find_company_emails): Pull a public contact roster for an entire company domain (25 credits)Find everything at once (
find_all): One call resolves a company's website, fetches decision-maker emails for chosen role categories, and retrieves the full company email roster
Account & Billing Management
Check balance (
check_balance): View remaining credits, total purchased, saved card status, active API key count, and account email — freeStart checkout (
start_checkout): Generate a Stripe Checkout URL to add a payment card for the first timeTop up credits (
topup_credits): Charge a saved card to add a credit pack ('1k'/$10, '5k'/$50, or '25k'/$250) without human interaction
Provides tools for payment management, including generating a Stripe checkout URL to add a card and charging a saved card to top up credits.
Potarix MCP Server
MCP wrapper for Potarix Enricher. Lets AI agents resolve company websites, find verified emails, and pull complete company rosters — and (with one human-in-the-loop card capture) sign up and pay for credits entirely from the agent.
Tools
tool | what it does | cost |
| company name → website URL | 2 credits |
| named person + company/domain → verified email | 25 credits |
| category + domain → likely buyer name + email | 25 credits |
| LinkedIn profile URL → verified email | 10 credits |
| domain → public company contact roster | 25 credits |
| one company name → website + DMs + full company email list | sum of above |
| credits, email, saved-card status, key count | free |
| get a Stripe URL to add a card the first time | n/a |
| charge the saved card and add credits | n/a |
1 credit = $0.01. Trial accounts start with 25 free credits. Every endpoint floors at the worst-case provider COGS — a hit never loses money, and short-circuited waterfall calls earn margin.
Related MCP server: Pearch
Two ways to connect
transport | endpoint | best for |
Streamable HTTP (hosted) |
| remote agents (Claude, ChatGPT) — no install |
stdio (npm package) |
| local/desktop clients |
Both expose the same nine tools. The hosted server is stateless and multi-tenant: every request is authorized by its own Authorization: Bearer ptk_live_... header, so there is no per-user deployment.
Hosted (Streamable HTTP)
Point any MCP client that speaks Streamable HTTP at https://api.potarix.com/mcp and send your key as a bearer token:
{
"mcpServers": {
"potarix": {
"url": "https://api.potarix.com/mcp",
"headers": { "Authorization": "Bearer ptk_live_your_key" }
}
}
}Install (stdio)
npm install -g potarix-mcpOr run it without a global install:
npx -y potarix-mcpConfigure
Set your Potarix API key:
export POTARIX_API_KEY=ptk_live_your_keyOptional:
export POTARIX_API=https://api.potarix.com/enricherClaude Desktop
{
"mcpServers": {
"potarix": {
"command": "npx",
"args": ["-y", "potarix-mcp"],
"env": {
"POTARIX_API_KEY": "ptk_live_your_key"
}
}
}
}Claude Code
claude mcp add potarix npx -- -y potarix-mcpThen add POTARIX_API_KEY to the environment where Claude Code runs.
Development
npm install
npm run build
npm run smoke # stdio transport: connect + tools/list
# Streamable HTTP transport:
npm run start:http # serves on http://127.0.0.1:8080/mcp (set PORT to change)
# in another shell:
POTARIX_MCP_URL=http://127.0.0.1:8080/mcp npm run smoke:httpEnvironment variables:
var | default | purpose |
| — | API key (stdio only; HTTP reads it per-request from the bearer header) |
|
|
|
|
| HTTP bind address |
|
| HTTP request path |
| — | comma-separated host allow-list; enables DNS-rebinding protection |
|
| API base URL override |
Registry Publishing
This repo includes server.json for the official MCP Registry. The entry is
multi-surface: it declares both the hosted Streamable HTTP remote
(https://api.potarix.com/mcp) and the npm stdio package (potarix-mcp), so a
single registry record advertises two ways to connect.
The registry validates the npm package by fetching it and checking that its
published mcpName matches the server name, so the npm package must be
published first, at the same version named in server.json (packages[].version).
Publishing steps (version-bump first, then npm, then registry):
# 1. Bump package.json + server.json to the same new version (e.g. 0.1.3).
# server.json must be a NEW version each publish (versions are immutable).
# 2. Build + publish the npm artifact (carries mcpName for ownership proof):
npm publish
# 3. Push the multi-surface server.json to the official MCP Registry:
mcp-publisher login github
mcp-publisher publishThe package mcpName in package.json must match server.json:
io.github.Potarix/potarix-mcpAvailable Tools
9 toolscheck_balanceCheck Potarix BalanceARead-onlyIdempotentInspect
Show the calling key's profile: email, credits remaining, total purchased, whether a card is on file, and how many active API keys exist. Free — does not consume credits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by listing exact output fields (email, credits remaining, total purchased, card on file, active keys) and stating that the call is free and does not consume credits. Annotations already mark it as read-only and idempotent, but the description provides concrete behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first lists output fields, the second states cost. Extremely concise with no filler, front-loaded with key information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description provides sufficient context: it lists all returned fields, states it's free, and annotations cover safety. The tool is simple and fully described for an agent to decide when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (empty schema with 100% coverage). The baseline for zero parameters is 4, and the description does not need to add parameter meaning since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states that the tool shows the calling key's profile with specific fields: email, credits remaining, total purchased, card status, and active API keys. This is a specific verb+resource combination that clearly distinguishes it from sibling tools like topup_credits or start_checkout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the tool is free and shows the key's profile, implying use for checking balance/status. While it does not explicitly state when not to use or name alternatives, the sibling list provides context for differentiation. A clear usage scenario is implied but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_allFind All Company DataARead-onlyIdempotentInspect
Kitchen-sink: resolve a company's website, find decision-maker emails for the categories you request, and pull the company-wide email roster — all in one call. Pricing is the sum of underlying sub-calls; see /find-all docs. Uses Potarix Enricher API credits.
| Name | Required | Description | Default |
|---|---|---|---|
| company_name | Yes | Company name, such as 'Stripe Inc.'. | |
| context | No | Optional disambiguation hint passed through to website resolution. | |
| dm_categories | No | Decision-maker role categories (e.g. 'ceo', 'sales', 'operations'). Defaults to ceo + sales + operations. Capped at 6. | |
| skip_company_emails | No | Skip the company-wide email scrape to save credits. Defaults to false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, non-destructive, idempotent behavior. The description adds credit consumption details (Potarix Enricher API credits) and pricing, which are relevant behavioral traits not covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences efficiently convey purpose, pricing, and credit usage. Front-loaded with key action items. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description adequately explains what the tool returns (website, emails, roster). The reference to /find-all docs provides an escape hatch for more details. Suitable for a combined call tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all 4 parameters with descriptions. The description adds value by noting default values for dm_categories and the cap of 6 items, which are not in the schema. No contradictions or missing param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the three functions combined (resolve website, find decision-maker emails, pull company-wide email roster) and distinguishes it from siblings like find_company_emails and find_decision_maker_email by noting it does all in one call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions pricing model (sum of sub-calls) and references external docs, providing clear context for when to use this combined call vs individual sibling tools. It could be improved by explicitly stating when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_company_emailsFind Company EmailsARead-onlyIdempotentInspect
Find public company email contacts for a domain. Uses Potarix Enricher API credits.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Company domain, such as 'stripe.com'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds the important context that it uses API credits, which implies cost. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently conveys the tool's function and a key constraint (credit usage). No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one input parameter, the description adequately covers the purpose and a behavioral aspect (credit usage). Annotations provide safety info. However, no output schema is provided, but the return type is likely clear from context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the domain parameter. The description does not add significant additional meaning beyond the schema, as it only reiterates the purpose without detailing parameter constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it finds public company email contacts for a domain, with a specific verb and resource. It distinguishes from sibling tools like find_person_email and find_decision_maker_email, which target individuals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions credit usage but does not explicitly state when to use this tool versus alternatives like find_person_email. Usage context is implied through the domain parameter and sibling tool names, but no direct guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_decision_maker_emailFind Decision Maker EmailARead-onlyIdempotentInspect
Find a likely decision maker and verified email for a domain. Uses Potarix Enricher API credits.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Company domain, such as 'stripe.com'. | |
| category | Yes | Decision maker category, such as 'ceo', 'sales', or 'operations'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that it uses API credits and returns a 'likely' decision maker with 'verified' email, providing some behavioral context beyond annotations. However, it does not discuss rate limits or result reliability in depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the core action and resource. No unnecessary words; every part is informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description only mentions 'find a likely decision maker and verified email' without specifying return format or multiple results. Adequate for a simple lookup but missing some completeness for an agent relying on this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both domain and category in the schema. The description does not add any additional meaning or usage details for the parameters beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (find), the resource (decision maker and verified email), and the scope (for a domain). It distinguishes itself from sibling tools like find_company_emails or find_person_email by focusing specifically on a decision maker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions credit usage as a constraint but does not provide explicit guidance on when to use this tool versus alternatives. There is no 'when not to use' or mention of other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_linkedin_emailFind LinkedIn EmailARead-onlyIdempotentInspect
Find a verified email from a LinkedIn profile URL. Uses Potarix Enricher API credits.
| Name | Required | Description | Default |
|---|---|---|---|
| linkedin_url | Yes | LinkedIn profile URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds that it uses Potarix Enricher API credits, which is useful beyond annotations, but does not disclose potential error states or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each purposeful: first states the tool's action and resource, second notes resource usage. No waste, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the core functionality and a key behavioral detail (API credits). It is adequate but could mention expected output or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description does not add meaning beyond the schema's 'LinkedIn profile URL' description, lacking details on format or validation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds a verified email from a LinkedIn profile URL, specifying the verb and resource. It distinguishes itself from siblings like find_company_emails and find_person_email by focusing on LinkedIn URLs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when a LinkedIn profile URL is available, but provides no explicit guidance on when not to use it or alternatives. The mention of API credits gives some cost context, but no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_person_emailFind Person EmailARead-onlyIdempotentInspect
Find a verified email for a named person at a company or domain. Uses Potarix Enricher API credits.
| Name | Required | Description | Default |
|---|---|---|---|
| first_name | No | First name, if known. | |
| last_name | No | Last name, if known. | |
| full_name | No | Full name, if first and last are not split. | |
| domain | No | Company domain, such as 'stripe.com'. | |
| company_name | No | Company name, used when a domain is not known. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, non-destructive, idempotent, and open-world traits. The description adds value by noting the tool uses API credits and returns a 'verified email', providing cost and reliability context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no wasted words. It delivers the core purpose and a key behavioral detail efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with 5 optional parameters and no output schema, the description covers purpose and cost. It could mention response format or behavior when no email found, but the annotations partially cover limitations. Overall, it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description does not add further meaning to the parameters beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb (Find), resource (verified email), and context (named person at company/domain). It clearly distinguishes from sibling tools like find_company_emails and find_decision_maker_email by focusing on a specific person.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it uses API credits but provides no explicit guidance on when to use this tool versus alternatives. It implicitly indicates usage for a named person, but lacks when-not statements or direct references to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_company_websiteLook Up Company WebsiteARead-onlyIdempotentInspect
Find the best website URL for a company name. Uses Potarix Enricher API credits.
| Name | Required | Description | Default |
|---|---|---|---|
| company_name | Yes | Company name, such as 'Stripe Inc.'. | |
| context | No | Optional disambiguation hint, such as location or industry. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds the behavioral context of credit usage, which goes beyond annotations but does not elaborate on other behaviors like error handling or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences, each adding value: one for purpose, one for credit usage. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the schema and annotations cover most aspects. However, there is no description of the output format (e.g., what is returned if no website found, or if multiple possible URLs). This gap makes it less complete for an agent to fully understand behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, both parameters are already documented. The description does not provide additional semantic information beyond the schema; it merely states the tool's purpose, so it meets the baseline but adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find the best website URL for a company name.' It uses a specific verb ('Find') and identifies the resource ('website URL'), distinguishing it from sibling tools like 'find_company_emails' or 'find_person_email'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that the tool 'Uses Potarix Enricher API credits,' implying consumption of credits but not providing explicit guidance on when to use this tool versus alternatives. No exclusions or when-not-to-use instructions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_checkoutStart Potarix Checkout (one-time card capture)AInspect
Return a Stripe Checkout URL the human clicks once to add a card. After the human completes checkout, future topup_credits calls are silent off-session charges. Hand the returned url to the user, do not try to follow it yourself.
| Name | Required | Description | Default |
|---|---|---|---|
| tier_key | Yes | Credit pack to purchase on first checkout: '1k', '5k', or '25k'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context beyond annotations: reveals human interaction requirement and relation to future charges. No contradiction but could mention potential failure scenarios or timeout.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no redundancy. Each sentence adds essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity and complete schema/annotations, description covers purpose, usage, and output handling. No output schema needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already fully describes the single parameter 'tier_key' with enum and description. Tool description adds no additional param info, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool returns a Stripe Checkout URL for one-time card capture. Distinguishes from sibling 'topup_credits' which handles subsequent charges.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to hand the URL to the user and not follow it yourself. Also explains that after checkout, 'topup_credits' calls become silent off-session charges.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
topup_creditsTop Up Potarix CreditsADestructiveInspect
Buy a credit pack. Charges the saved card off-session if one is on file (returns immediately on success). If no card is saved yet, run start_checkout first to capture one.
| Name | Required | Description | Default |
|---|---|---|---|
| tier_key | Yes | Credit pack: '1k' ($10), '5k' ($50), or '25k' ($250). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context beyond destructiveHint=true: it charges off-session and returns immediately on success. However, it does not mention failure scenarios (e.g., insufficient funds).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences with no extraneous information. Key points (buying, charging, alternative) are front-loaded and clearly separated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with annotations already indicating destructive nature, the description covers the core workflow, prerequisites, and behavior. No output schema is needed, and the description suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers the parameter tier_key with enum values and descriptions. The description adds no further parameter information beyond what the schema provides (100% coverage).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Buy a credit pack', clearly specifying the verb 'buy' and the resource 'credit pack'. It distinguishes from sibling tools by referencing start_checkout as a prerequisite when no card is saved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool (buying credits) and when to use an alternative (start_checkout if no card is saved), including exact tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
9 tool updates
v0.1.2- First observed
check_balance - First observed
find_all - First observed
find_company_emails - First observed
find_decision_maker_email - First observed
find_linkedin_email - First observed
find_person_email - First observed
lookup_company_website - First observed
start_checkout - First observed
topup_credits
TDQS
Each tool has a clearly distinct purpose: check_balance for account info, individual email lookup tools for different sources, a composite find_all, website lookup, and billing management. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., check_balance, find_company_emails, topup_credits). No mixing of conventions or irregular names.
9 tools are well-scoped for a company/email enrichment service with account and billing features. Each tool serves a necessary function without superfluous additions.
The tool surface covers main workflows: account info, various email lookups, website resolution, and billing. A minor gap is the lack of a tool to list or manage API keys, but the core functionality is solid.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Find verified B2B emails and phone numbers; search and enrich people and companies for prospecting.
Search B2B contacts, enrich verified emails and phone numbers, and export results.
Search and enrich B2B people & companies — 70+ filters (funding, linkedin, industry, country, ...).
Search companies, enrich contacts, and reveal emails and phones from your AI agent.
Related MCP Servers
- AlicenseBqualityDmaintenanceSearching google, individual websites and scraping their content. Fast and cost-effective. ⚡️98123MIT
- AlicenseNot gradedqualityCmaintenanceBest people search engine that reduces the time spent on talent discovery9MIT
- AlicenseAqualityDmaintenanceEnables scraping of emails, phone numbers, and social profile links from website domains. Supports batch processing of up to 20 domains and can find company websites by keyword/company name.2MIT

Prospeo MCP Serverofficial
AlicenseAqualityFmaintenanceEnables AI tools to search and enrich B2B leads, including finding professional emails, company profiles, and filtering people and companies by various criteria.5227MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Potarix/potarix-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server