Mcp Contact Classifier

com.mambabuiltPublished by mambabuilt.comv1.2.1Updated Nov 7, 2026

Classify a job title into department and seniority, and optionally verify the position.

The publisher's own server: classifier.dev

VerifiedSTDIODesktop onlyData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Classifies a contact's job title into department and seniority via an Apify actor, optionally verifying the person's position on their employer's website.

What you can do
  • Classify a job title into one of 12 departments and 12 seniority levels, with a 1-12 seniority_rank and the named rule that fired
  • Verify a position by checking whether a named person is still listed on their employer's website, given a company domain
  • Optionally route titles the rules cannot place to your own LLM provider and model
  • Return a flat 21-field row per contact, with cache skipping and an optional per-run cost cap
When to use it
Useful when you have contact records with job titles and want consistent, auditable department and seniority labels for segmentation or decision-maker filtering, and optionally a check that the person is still listed on the company site.
Requirements
Runs locally over stdio via npx (Node.js). Requires an Apify account and an APIFY_TOKEN environment variable. Optional LLM fallback needs an LLM_API_KEY on your own copy of the actor plus a provider and model choice. Network access to Apify is required.
Before you install
Usage is billed per contact classified plus an actor start fee and consumes Apify credits; set max_charge_usd to cap a run. The APIFY_TOKEN secret is required, and the optional LLM fallback sends job titles to a third-party model provider using your LLM_API_KEY. Position verification sends the person's name and company domain to the actor for web checks. It does not discover people.

Installation

In SourceWeft

  1. Open Mcp Contact Classifier in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Contact Classifier MCP Server

[Glama score] [MCP Registry] [npm version] [npm downloads] [license] [mcpservers.org]

[Contact Classifier MCP server]

MCP server for the Mamba Labs Contact Classifier actor on Apify.

Give it a job title and it returns the department and the seniority level. Give it a name and a company domain too, and it also checks whether that person is still listed on their employer's own website. The classification is a deterministic rule table, so it needs no API key and returns the same answer for the same title every time.

Install

bash
npx -y @mambalabsdev/mcp-contact-classifier

Claude Desktop

json
{  "mcpServers": {    "mamba-contact-classifier": {      "command": "npx",      "args": ["-y", "@mambalabsdev/mcp-contact-classifier"],      "env": { "APIFY_TOKEN": "your-apify-token" }    }  }}

Get an Apify token at console.apify.com/account/integrations.

Tool

classify_contact

One contact in, one classified row out. Only the job title is required.

InputTypeRequiredNotes
job_titlestringyesThe contact's job title, exactly as you hold it. Classified by deterministic rules with no API key needed.
full_namestringnoOnly needed for position verification. Classification works without it. This name is never sent to any language model.
company_domainstringnoOnly needed for position verification. The company's website domain, with or without https.
verify_positionbooleannoCheck whether the person is still listed on their employer's own website. Adds roughly 3 seconds and 9 requests per contact, and needs both the name and the domain. Default false.
use_llm_fallbackbooleannoSends titles the rules cannot place to your own model, using the LLM_API_KEY secret environment variable on your own copy of the actor. Only the title is sent, never the person's name. Default false.
llm_providerenumnoopenai, anthropic or google. Which provider your LLM_API_KEY belongs to. Only read when the LLM fallback is on. Default openai.
llm_modelstringnoModel id passed straight through to the provider. Only read when the LLM fallback is on. Default gpt-4o-mini.
skipCacheenumnoSet to true to ignore cached results and classify from scratch. Default false.
max_charge_usdnumbernoOptional cost cap in USD for this run. The actor stops before an item that could take its charges past this amount. Omit to rely on the maximum cost per run set in Apify.

Reading the output

21 flat snake_case fields, one row per contact. department is one of 12, seniority one of 12, and seniority_rank is 1 to 12 so a decision maker filter is a comparison rather than a list of strings. classification_rule names the rule that fired, which is what makes the decision auditable.

With no LLM_API_KEY set, titles the rules cannot place come back null. The row is still returned.

Billing

You are charged per contact classified, plus a small actor start fee. The deterministic classification calls no model and no third party API.

EventPriceFires when
apify-actor-start$0.00005Once per run, on start, one event per GB of memory (minimum one). Apify's start event.
contact-classified$0.003 (FREE tier), down to $0.00255 on GOLD and aboveOnce per contact, including a title the rules cannot place.

Full pricing is on the actor's Apify page. Running this server consumes Apify credits.

The tool starts the actor run and polls it to a finished status, so a run with verify_position on is not cut off at 300 seconds. A run that does not succeed comes back as an error with its run ID and status.

What this server does and does not do

It is a thin client for the Apify actor. It passes your input through and returns the actor's output unchanged. Every behavior described above lives in the actor, not here.

This actor does not discover people. The name and title come from you. It classifies a title and, optionally, checks a name against a page the employer published. To find people in the first place, use People Finder.

Errors are surfaced, never swallowed. An invalid input, an invalid token, an exhausted balance, a timeout, or a run that returns anything other than a dataset all come back as an explicit tool error rather than as an empty result.

Source

The actor is on the Apify Store. This wrapper is MIT licensed.

Built by Mamba Labs

Source: README.md at commit f7177bc

Tools

1

classify_contact

Classify Contact

One contact in, one classified row out. Give it a job title and it returns the department, the seniority level, a seniority_rank from 1 to 12 you can filter with a comparison, and classification_rule, the named rule that fired, so every decision is auditable. The classification is a deterministic rule table: it needs no API key, calls no model, and returns the same answer for the same title every time. Only job_title is required. full_name and company_domain are read only when verify_position is on, which checks whether the person is still listed on their employer's own website and adds roughly 3 seconds and 9 requests per contact. The optional LLM fallback for titles the rules cannot place runs on your own key, set as the LLM_API_KEY secret environment variable on your own copy of the actor, and only the title is ever sent, never the person's name. With no key set those titles come back null rather than failing the row. This actor does not discover people: the name and title come from you. Requires an APIFY_TOKEN and consumes Apify credits. Reads public data only and writes nothing.

Parametersfull_namejob_titlerequiredllm_modelskipCachellm_providercompany_domainmax_charge_usdverify_positionuse_llm_fallback

Version history

5
  1. v1.2.1LatestNov 5, 2026
  2. v1.2.0Oct 16, 2026
  3. v1.1.1Oct 6, 2026
  4. v1.1.0Oct 6, 2026
  5. v1.0.0Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Classifier integrations