_ registry / mcp streamable-http · checked 1h ago

peoplesearch.im

https://peoplesearch.im

Registry code: 42b291f23cff2731

api record

PeopleSearch.im people-data tools. Search people and companies for free (people_search takes exact `filters` such as job_titles, companies, locations, industries and schools, which return precisely who you mean, or a plain-English query); then reveal profiles, fetch verified professional (work) emails, verify emails, and run reverse-email / LinkedIn / company lookups for credits. Most paid operations cost 1 credit and refund automatically when nothing is found (see each tool). people_search and company_search work before any account is connected (up to 3 results per search, up to 10 searches…

endpoint
https://peoplesearch.im/api/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is peoplesearch.im live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is peoplesearch.im free to use?
Not measured yet.
What tools does peoplesearch.im have?
14 tools: find_linkedin_profile, lookup_linkedin_profile, find_email_from_linkedin, people_search, reveal_profile, find_people, fetch_email, find_work_email, ….
Is peoplesearch.im safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 99.7%· all time 99.7%

latency
373ms

last good check

priced tools
0

of 14 tools

_ answered our checks, 90 days 348 checks · signed record
  • down → live
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • search people by criteria
  • find company information
  • get professional email addresses
  • verify email deliverability
  • find linkedin profiles
takes → gives
text, data → data, payments
tools
12 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 14 tools
14 never probed 0 of 14 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • find_linkedin_profile reads unknown never probed

    Find a named person's LinkedIn profile: its URL with their current title, company and location. Give their first and last name, plus their company (name or website) and/or job title when you know them. A name only one person has is found from the name alone; when several people share it, the answer says how many and nothing is charged, so call again with their company or job title. Spends 2 credits, refunded if no confident match is found.

    mcp-tool

    {
      "type": "object",
      "required": [
        "first_name",
        "last_name"
      ],
      "properties": {
        "job_title": {
          "type": "string",
          "description": "Their job title (\"Head of Sales\"). Tells apart people who share a name, together with or instead of company_or_domain."
        },
        "last_name": {
          "type": "string",
          "description": "The person's last name."
        },
        "first_name": {
          "type": "string",
          "description": "The person's first name."
        },
        "company_or_domain": {
          "type": "string",
          "description": "The company they work at, as its name or website (acme.com). Needed for a name several people share, together with or instead of job_title."
        }
      },
      "additionalProperties": false
    }
    arguments 26 lines
  • lookup_linkedin_profile reads unknown never probed

    Turn a LinkedIn profile URL into clean structured data: name, current role and company, and location. Spends 2 credits, refunded if the profile cannot be retrieved.

    mcp-tool

    {
      "type": "object",
      "required": [
        "linkedin_url"
      ],
      "properties": {
        "linkedin_url": {
          "type": "string",
          "description": "A LinkedIn profile URL, e.g. https://linkedin.com/in/…"
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • find_email_from_linkedin unknown never probed

    Given a LinkedIn profile URL, return that person's professional email address, verified live, with their current role and company. Use this when you have someone's LinkedIn page and need to email them; for a name and company without a URL use find_work_email. Spends 3 credits, refunded if no email is found.

    mcp-tool

    {
      "type": "object",
      "required": [
        "linkedin_url"
      ],
      "properties": {
        "linkedin_url": {
          "type": "string",
          "description": "A LinkedIn profile URL, e.g. https://www.linkedin.com/in/…"
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • people_search reads unknown never probed

    Search a global professional database for people and get a sample of matches plus the true total match count. Ask with `filters` (recommended: state each part exactly, for example {"job_titles": ["M&A Associate", "Investment Banking Associate"], "locations": ["Frankfurt", "Munich"], "industries": ["Investment Banking"], "schools": ["University of Mannheim"]}) or with `query`, a plain-English sentence that is parsed for you (for example 'Heads of Marketing at Series B SaaS in New York'). Results are masked previews (a masked name, role, industry, company size and location) and each one carries an opaque `token`. Searching uses no credits: use it to check that the right people come back before revealing anyone, and refine the filters if they do not. To look up one named person, give `first_name` and `last_name` with their company or company domain when known. For a kind of employer no industry names exactly, use `company_keywords` (words its own description contains, for example ["hostel"] or ["SEO"] with industries ["Marketing Services"]). If nothing matches exactly, the search broadens itself: a job title is read more broadly first (`broadenedRole` gives the title as asked and as searched), then the least essential filters are dropped and `broadenedBy` names them; `ignored` lists any filter that could not be applied. To get a person's real name, LinkedIn and verified email, pass their token to reveal_profile, or use find_people with the same filters to unlock a batch in one call. It also works before a PeopleSearch.im account is connected: without one it returns up to 3 previews per search, up to 10 searches a day.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 25,
          "minimum": 1,
          "description": "How many masked previews to return (1-25, default 10). This does not limit the reported total."
        },
        "query": {
          "type": "string",
          "description": "Who you are looking for, in plain English (role, seniority, industry, company, company size, location). Parsed for you. A company's website identifies it exactly, alone or in brackets after its name ('Head of Growth at Linear (linear.app)'). Optional when `filters` is given, where it is only a label."
        },
        "filters": {
          "type": "object",
          "properties": {
            "skills": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Skills listed on the profile, e.g. [\"Python\", \"Kubernetes\"]."
            },
            "schools": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Schools the person attended, matched as substrings; add the local-language name too, e.g. [\"University of Mannheim\", \"Universität Mannheim\"]."
            },
            "keywords": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Words to find anywhere on the profile (headline, descriptions, past roles), for what no other field covers."
            },
            "companies": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current employers by name, e.g. [\"Stripe\"]. A name written with a legal form or a listing's tagline (\"Stripe, Inc.\", \"Acme Pvt Ltd - Software House\") is searched without it; for an exact company use company_domains or company_ids."
            },
            "languages": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Languages the person speaks, e.g. [\"German\"] or [\"DE\"]."
            },
            "last_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "To find one named person: their last name, e.g. [\"Dai\"]. If the name with the employer finds nobody, the search tries the last name at the employer, then the full name anywhere."
            },
            "locations": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Where the person lives or works: cities, states, countries or regions, e.g. [\"Frankfurt\", \"Munich\"], [\"Germany\"], [\"DACH\"], [\"Texas\"]. Use \"City, Country\" to tell same-named places apart (\"Paris, France\"). Country names are safest; ISO codes are converted."
            },
            "first_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "To find one named person: their first name, with the variants they may use, e.g. [\"Timothy\", \"Tim\"]. Use with last_name, and add companies or company_domains when known (\"Anqi Dai at Memorial Sloan Kettering\" finds the one person)."
            },
            "industries": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Industry of the current employer, as LinkedIn names it, e.g. [\"Investment Banking\"], [\"Software Development\"], [\"Hospitals and Health Care\"], [\"Venture Capital and Private Equity Principals\"], [\"Staffing and Recruiting\"]. Common older names are mapped; a name that is not an industry is reported in `ignored` and not applied."
            },
            "job_titles": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current job titles, matched as case-insensitive whole words (\"Account Executive\" also finds \"Senior Account Executive\"). Each is also searched in its other spellings (\"CEO\" and \"Chief Executive Officer\", \"VP Sales\" and \"Vice President of Sales\"). A bare \"President\" or \"Owner\" means the top job: Vice Presidents and Product Owners are left out unless you list such a title too. When nobody holds the titles, the same job under other titles is searched first (the company's President or Owner for \"CEO\"), reported in broadenedRole."
            },
            "company_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current employers by their LinkedIn company page, the most exact way to name a company: the page's URL or its name in the URL, e.g. [\"https://www.linkedin.com/company/google\"] or [\"google\"], or LinkedIn's numeric company id. Use it for large companies, whose website often misses them (Google's page lists a short link, Amazon's lists aboutamazon.com)."
            },
            "past_companies": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Former employers by name, e.g. [\"McKinsey\"] for ex-McKinsey people. Some people with a company in their past work there again or still: add the same names to exclude_companies for people who have left (\"former employees of Stripe\")."
            },
            "company_domains": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current employers by website, e.g. [\"stripe.com\"]. Each website is searched as the company that owns it (its LinkedIn page), so a domain that also hosts other companies' pages (careers pages on workable.com, payment links on stripe.com) finds only the owner's staff. Some large companies' pages list another site (Amazon's lists aboutamazon.com): name those with company_ids."
            },
            "past_job_titles": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Titles the person held before their current job."
            },
            "company_keywords": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Words the current employer's own description should contain, for a KIND of employer no industry names exactly, e.g. [\"hostel\"], [\"coffee\"] (founders of coffee roasteries), [\"SEO\"] (with industries [\"Marketing Services\"] for SEO agencies), [\"community college\"]."
            },
            "company_size_max": {
              "type": "integer",
              "minimum": 1,
              "description": "Maximum employees at the current employer."
            },
            "company_size_min": {
              "type": "integer",
              "minimum": 1,
              "description": "Minimum employees at the current employer."
            },
            "exclude_companies": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current employers to leave out, by name, e.g. [\"Stripe\"]. Needs another field to search by: with past_companies [\"Stripe\"] it finds former Stripe employees who no longer work there (11,810 of the 14,616 with Stripe in their past, measured 2026-10-19)."
            },
            "exclude_job_titles": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Titles to leave out, e.g. [\"Intern\", \"Recruiter\"]."
            },
            "years_experience_max": {
              "type": "integer",
              "minimum": 0,
              "description": "Maximum total years of professional experience."
            },
            "years_experience_min": {
              "type": "integer",
              "minimum": 0,
              "description": "Minimum total years of professional experience."
            }
          },
          "description": "Exact filters, recommended for AI agents and programs: state each part of the request instead of a sentence. Values inside one list are alternatives (OR); different fields must all match (AND). Give a few variants where people word things differently (titles: [\"M&A Associate\", \"Investment Banking Associate\"]). When filters are given, `query` is only a label and is not parsed.",
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
    arguments 162 lines
  • reveal_profile reads unknown never probed

    Unlock ONE person from a people_search result. Pass the `token` from that result. Spends 1 credit and returns the full profile: real name, current title and company, location and LinkedIn URL. Set `include_email` to true to also look up their verified professional (work) email in the same call, which spends 1 more credit that is refunded if no email is found. Revealing the same person again is free (idempotent). The email is looked up live and may take a moment: if it returns emailStatus 'searching', call reveal_profile again with the same token (no extra charge) to collect it.

    mcp-tool

    {
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "description": "The opaque `token` of a person returned by people_search."
        },
        "include_email": {
          "type": "boolean",
          "description": "Also fetch the person's verified professional email (a second credit, refunded if none is found). Default false."
        }
      },
      "additionalProperties": false
    }
    arguments 17 lines
  • find_people reads unknown never probed

    The list-building tool. Runs a people search exactly as people_search does (the same `filters` or `query`, including its automatic broadening, reported in `broadenedBy`) and unlocks up to `count` full profiles in ONE atomic charge: 1 credit per newly unlocked person, and anyone you already own is free. Pass the same filters you checked with people_search, so you pay for the people you saw. Returns each person's real name, title, company, location, LinkedIn URL and an `id`. Set `include_email` to true when the user wants to contact them: each person's verified work email is looked up in the same call, 1 more credit each, refunded when none is found (lookups still running are collected free with fetch_email and the id). Without it, call fetch_email with each person's `id` later. WARNING for autonomous use: this can spend up to `count` credits in a single call (twice that with emails), so choose `count` deliberately and confirm with the user before large batches. Returns an out-of-credits error instead of overspending.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "How many people to unlock, 1-100 (default 25). Spends up to this many credits."
        },
        "query": {
          "type": "string",
          "description": "Who you are looking for, in plain English (role, seniority, industry, company, company size, location). Parsed for you. A company's website identifies it exactly, alone or in brackets after its name ('Head of Growth at Linear (linear.app)'). Optional when `filters` is given, where it is only a label."
        },
        "filters": {
          "type": "object",
          "properties": {
            "skills": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Skills listed on the profile, e.g. [\"Python\", \"Kubernetes\"]."
            },
            "schools": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Schools the person attended, matched as substrings; add the local-language name too, e.g. [\"University of Mannheim\", \"Universität Mannheim\"]."
            },
            "keywords": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Words to find anywhere on the profile (headline, descriptions, past roles), for what no other field covers."
            },
            "companies": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current employers by name, e.g. [\"Stripe\"]. A name written with a legal form or a listing's tagline (\"Stripe, Inc.\", \"Acme Pvt Ltd - Software House\") is searched without it; for an exact company use company_domains or company_ids."
            },
            "languages": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Languages the person speaks, e.g. [\"German\"] or [\"DE\"]."
            },
            "last_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "To find one named person: their last name, e.g. [\"Dai\"]. If the name with the employer finds nobody, the search tries the last name at the employer, then the full name anywhere."
            },
            "locations": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Where the person lives or works: cities, states, countries or regions, e.g. [\"Frankfurt\", \"Munich\"], [\"Germany\"], [\"DACH\"], [\"Texas\"]. Use \"City, Country\" to tell same-named places apart (\"Paris, France\"). Country names are safest; ISO codes are converted."
            },
            "first_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "To find one named person: their first name, with the variants they may use, e.g. [\"Timothy\", \"Tim\"]. Use with last_name, and add companies or company_domains when known (\"Anqi Dai at Memorial Sloan Kettering\" finds the one person)."
            },
            "industries": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Industry of the current employer, as LinkedIn names it, e.g. [\"Investment Banking\"], [\"Software Development\"], [\"Hospitals and Health Care\"], [\"Venture Capital and Private Equity Principals\"], [\"Staffing and Recruiting\"]. Common older names are mapped; a name that is not an industry is reported in `ignored` and not applied."
            },
            "job_titles": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current job titles, matched as case-insensitive whole words (\"Account Executive\" also finds \"Senior Account Executive\"). Each is also searched in its other spellings (\"CEO\" and \"Chief Executive Officer\", \"VP Sales\" and \"Vice President of Sales\"). A bare \"President\" or \"Owner\" means the top job: Vice Presidents and Product Owners are left out unless you list such a title too. When nobody holds the titles, the same job under other titles is searched first (the company's President or Owner for \"CEO\"), reported in broadenedRole."
            },
            "company_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current employers by their LinkedIn company page, the most exact way to name a company: the page's URL or its name in the URL, e.g. [\"https://www.linkedin.com/company/google\"] or [\"google\"], or LinkedIn's numeric company id. Use it for large companies, whose website often misses them (Google's page lists a short link, Amazon's lists aboutamazon.com)."
            },
            "past_companies": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Former employers by name, e.g. [\"McKinsey\"] for ex-McKinsey people. Some people with a company in their past work there again or still: add the same names to exclude_companies for people who have left (\"former employees of Stripe\")."
            },
            "company_domains": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current employers by website, e.g. [\"stripe.com\"]. Each website is searched as the company that owns it (its LinkedIn page), so a domain that also hosts other companies' pages (careers pages on workable.com, payment links on stripe.com) finds only the owner's staff. Some large companies' pages list another site (Amazon's lists aboutamazon.com): name those with company_ids."
            },
            "past_job_titles": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Titles the person held before their current job."
            },
            "company_keywords": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Words the current employer's own description should contain, for a KIND of employer no industry names exactly, e.g. [\"hostel\"], [\"coffee\"] (founders of coffee roasteries), [\"SEO\"] (with industries [\"Marketing Services\"] for SEO agencies), [\"community college\"]."
            },
            "company_size_max": {
              "type": "integer",
              "minimum": 1,
              "description": "Maximum employees at the current employer."
            },
            "company_size_min": {
              "type": "integer",
              "minimum": 1,
              "description": "Minimum employees at the current employer."
            },
            "exclude_companies": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Current employers to leave out, by name, e.g. [\"Stripe\"]. Needs another field to search by: with past_companies [\"Stripe\"] it finds former Stripe employees who no longer work there (11,810 of the 14,616 with Stripe in their past, measured 2026-10-19)."
            },
            "exclude_job_titles": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Titles to leave out, e.g. [\"Intern\", \"Recruiter\"]."
            },
            "years_experience_max": {
              "type": "integer",
              "minimum": 0,
              "description": "Maximum total years of professional experience."
            },
            "years_experience_min": {
              "type": "integer",
              "minimum": 0,
              "description": "Minimum total years of professional experience."
            }
          },
          "description": "Exact filters, recommended for AI agents and programs: state each part of the request instead of a sentence. Values inside one list are alternatives (OR); different fields must all match (AND). Give a few variants where people word things differently (titles: [\"M&A Associate\", \"Investment Banking Associate\"]). When filters are given, `query` is only a label and is not parsed.",
          "additionalProperties": false
        },
        "include_email": {
          "type": "boolean",
          "description": "Also look up each unlocked person's verified professional email (1 more credit each, refunded if none is found). Default false."
        }
      },
      "additionalProperties": false
    }
    arguments 166 lines
  • fetch_email reads unknown never probed

    Look up the verified professional (work) email for a person you have already unlocked with find_people (or reveal_profile). Pass their `id`. Spends 1 credit, refunded automatically if no email is found. The lookup is live: if it returns emailStatus 'searching', call fetch_email again with the same id (no extra charge) to collect the result once it resolves. Returns a professional address, never a personal one; not every person has a findable work email.

    mcp-tool

    {
      "type": "object",
      "required": [
        "profile_id"
      ],
      "properties": {
        "profile_id": {
          "type": "string",
          "description": "The `id` of a person returned by find_people (or reveal_profile)."
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • find_work_email unknown never probed

    Find and verify the professional (work) email of a person you can name: give their first name, last name and the company they work at (its domain, such as acme.com, matches best; a company name also works). Returns the address with a confidence label (Verified or Likely) and their LinkedIn profile when it can be matched. Spends 2 credits, refunded automatically if no email is found. People who asked to be removed from PeopleSearch.im are never looked up. To find people you cannot name yet, use people_search or find_people, then fetch_email.

    mcp-tool

    {
      "type": "object",
      "required": [
        "first_name",
        "last_name",
        "company_or_domain"
      ],
      "properties": {
        "last_name": {
          "type": "string",
          "description": "The person's last name."
        },
        "first_name": {
          "type": "string",
          "description": "The person's first name."
        },
        "company_or_domain": {
          "type": "string",
          "description": "The company they work at: its domain (best, e.g. acme.com) or its name."
        }
      },
      "additionalProperties": false
    }
    arguments 23 lines
  • verify_email reads unknown never probed

    Check whether an email address exists and is safe to send to, before it bounces. Checks the format and the domain's mail servers, then asks the mail provider about the exact mailbox, without sending anything. Returns `verdict`: deliverable, undeliverable, risky (a disposable address) or unknown (the mail server neither confirmed nor rejected the mailbox), with `reason`. Spends 1 credit for the mailbox check; a malformed address or a domain that takes no email is answered free, and an unknown is refunded.

    mcp-tool

    {
      "type": "object",
      "required": [
        "email"
      ],
      "properties": {
        "email": {
          "type": "string",
          "description": "The email address to verify, e.g. [email protected]."
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • find_company_emails reads unknown never probed

    Given a company domain or name, return the contactable role-based email addresses discovered for that organization (such as contact@, sales@, support@), each with a confidence level. Use this for reaching a company inbox, not a specific named person (for a named person use find_people or find_linkedin_profile). Spends 2 credits, refunded if none are found.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain_or_company"
      ],
      "properties": {
        "domain_or_company": {
          "type": "string",
          "description": "A company domain (preferred, e.g. acme.com) or company name."
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • reverse_email_lookup reads unknown never probed

    Turn a professional email address into the real person behind it and their LinkedIn profile. Best for work emails; free-mailbox addresses often have no public profile to match. Spends 13 credits (this is the single most expensive lookup), refunded automatically if no match is found.

    mcp-tool

    {
      "type": "object",
      "required": [
        "email"
      ],
      "properties": {
        "email": {
          "type": "string",
          "description": "The email address to identify, e.g. [email protected]."
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • company_search reads unknown never probed

    Search a global company database and get matching companies with industry, size, location and website. Three ways to ask: a company's website ('warmly.ai') returns that one company, the most exact way to identify one; a company's name ('Warmly') returns the companies of that name; a description in plain English ('Series B fintech companies in London with 50-200 employees') returns the companies that fit it. Searching companies uses no credits. It also works before a PeopleSearch.im account is connected: without one it returns up to 3 companies per search, up to 10 searches a day.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "description": "A company's website, a company's name, or the companies you want described in plain English."
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • check_credits reads unknown never probed

    Return the current credit balance for the API key making the request. Free and read-only. Use it before a large find_people call to confirm there are enough credits.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • lookup_company reads unknown never probed

    Turn a LinkedIn company URL into firmographic data: industry, size, location and website. Spends 1 credit, refunded if the company cannot be retrieved.

    mcp-tool

    {
      "type": "object",
      "required": [
        "linkedin_company_url"
      ],
      "properties": {
        "linkedin_company_url": {
          "type": "string",
          "description": "A LinkedIn company URL, e.g. https://linkedin.com/company/…"
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 42b291f23cff2731.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/42b291f23cff2731/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/42b291f23cff2731/badge.svg)](https://brick.blue/agent/42b291f23cff2731?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.