Allows an AI client to verify phone numbers, email addresses, and IP addresses while assessing identity risk scores.
Also known as prooftell/integrations, mcp, @prooftell/mcp
- Stars
- 0
- Tools
- 5
- Downloads, 30 days
- —
- Latest version
- 1.0.1
- Last commit
- Nov 13, 2026
- License
- —
What is ProofTell MCP?
ProofTell allows an AI client to verify phone numbers, email addresses, and IP addresses while assessing identity risk scores. It exposes 5 tools, such as look_up_phone_number, verify_email_address, look_up_ip_address.
Summary generated from the project's README
About ProofTell MCP server
Verifying contact details and assessing identity risk directly within your AI development environment is what ProofTell enables. Developers using Claude, Cursor, or VS Code can use this server to validate phone numbers, email addresses, and IP addresses. By connecting to the ProofTell public API, the server provides real-time data such as line types, carrier information, and fraud scores to help determine the legitimacy of a user or sign-up.
The server runs locally on your machine via stdio and requires Node.js 18 or later to function. You must provide a ProofTell API key through the PROOFTELL_API_KEY environment variable. You can use a pt_test_ key for free, deterministic sandbox testing or a pt_live_ key to perform actual checks against your account balance. The server includes specific tools like look_up_phone_number, verify_email_address, look_up_ip_address, and assess_identity_risk to provide comprehensive security insights.
What you can do with it
- 1Validate phone number detailsAsk the assistant to check a phone number to find its carrier or fraud score.
- 2Verify email deliverabilityHave the AI client confirm if a specific email address is valid and deliverable.
- 3Evaluate sign-up securityRequest an identity risk assessment using a combination of phone, email, or IP data.
Written from the project's README. Every use case is checked against a quote from it.
How to install ProofTell MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall ProofTell MCP in Claude Code
$ claude mcp add --env 'PROOFTELL_API_KEY=<YOUR_PROOFTELL_API_KEY>' mcp -- npx -y @prooftell/mcpInstall ProofTell MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@prooftell/mcp"
],
"env": {
"PROOFTELL_API_KEY": "<YOUR_PROOFTELL_API_KEY>"
}
}
}
}Install ProofTell MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@prooftell/mcp"
],
"env": {
"PROOFTELL_API_KEY": "<YOUR_PROOFTELL_API_KEY>"
}
}
}
}Install ProofTell MCP in VS Code CLI
$ code --add-mcp '{"name":"mcp","type":"stdio","command":"npx","args":["-y","@prooftell/mcp"],"env":{"PROOFTELL_API_KEY":"<YOUR_PROOFTELL_API_KEY>"}}'Install ProofTell MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@prooftell/mcp"
],
"env": {
"PROOFTELL_API_KEY": "<YOUR_PROOFTELL_API_KEY>"
}
}
}
}Install ProofTell MCP in Codex
$ codex mcp add mcp --env 'PROOFTELL_API_KEY=<YOUR_PROOFTELL_API_KEY>' -- npx -y @prooftell/mcpInstall ProofTell MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp] command = "npx" args = ["-y", "@prooftell/mcp"] [mcp_servers.mcp.env] PROOFTELL_API_KEY = "<YOUR_PROOFTELL_API_KEY>"
Install ProofTell MCP in Gemini CLI
$ gemini mcp add -s user -e 'PROOFTELL_API_KEY=<YOUR_PROOFTELL_API_KEY>' mcp npx -- -y @prooftell/mcpInstall ProofTell MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@prooftell/mcp"
],
"env": {
"PROOFTELL_API_KEY": "<YOUR_PROOFTELL_API_KEY>"
}
}
}
}ProofTell MCP tools 5
Detected from the READMElook_up_phone_numberverify_email_addresslook_up_ip_addressassess_identity_riskget_balance
| look_up_phone_number | — | |
| verify_email_address | — | |
| look_up_ip_address | — | |
| assess_identity_risk | — | |
| get_balance | — |
Configuration
PROOFTELL_API_KEYRequiredSecretCreate a key in the ProofTell dashboard (Developers → Integrations), named after this platform. A pt_test_ key is the free sandbox: simulated, deterministic answers. A pt_live_ key spends the account's balance.
| Name | Description | |
|---|---|---|
| PROOFTELL_API_KEY | Create a key in the ProofTell dashboard (Developers → Integrations), named after this platform. A pt_test_ key is the free sandbox: simulated, deterministic answers. A pt_live_ key spends the account's balance. | RequiredSecret |
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work · What to fix for more points
- Source repository linked and reachableprooftell/integrations is public and reachablegithub.com/prooftell/integrations ↗Pass
- Package names this repository as its source@prooftell/mcp names prooftell/integrations as sourcenpmjs.com/package/@prooftell/mcp ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for @prooftell/mcpnpmjs.com/package/@prooftell/mcp/v/1.0.1#provenance ↗Pass
- Open source license (OSI)No licenseFinding
- Commit or release in the last yearLast commit or release 2026-11-11github.com/prooftell/integrations ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from @prooftell/mcpPass
- No critical advisory in the package or its dependenciesthe package checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model5 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNo tool named like delete, drop or execPass
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHub@prooftell/mcp
ProofTell's MCP server: the checks of ProofTell's public API (https://prooftell.com/docs) as tools for Claude, Cursor, VS Code and any client of the Model Context Protocol. Ask the assistant to check a phone number, an email address or an IP address, or to assess the risk of a sign-up; it calls ProofTell with your key and reads the answer. The server runs on your machine (stdio) and stores nothing.
The key
Create a key in the ProofTell dashboard (Developers → Integrations), named after this platform. A pt_test_ key is
the free sandbox: simulated, deterministic answers. A pt_live_ key spends the account's balance. The server reads
it from the environment variable PROOFTELL_API_KEY, set in the client's configuration below.
Adding it to a client
It needs Node.js 18 or later; npx fetches the server on first use.
Claude Code:
claude mcp add prooftell --env PROOFTELL_API_KEY=pt_test_… -- npx -y @prooftell/mcp
Claude Desktop: Settings → Developer → Edit config, then in claude_desktop_config.json:
{
"mcpServers": {
"prooftell": {
"command": "npx",
"args": ["-y", "@prooftell/mcp"],
"env": { "PROOFTELL_API_KEY": "pt_test_…" }
}
}
}
Cursor: the same block in ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project).
VS Code (agent mode): in .vscode/mcp.json; VS Code asks for the key once and keeps it out of the file.
{
"inputs": [
{ "type": "promptString", "id": "prooftell-key", "description": "ProofTell API key", "password": true }
],
"servers": {
"prooftell": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@prooftell/mcp"],
"env": { "PROOFTELL_API_KEY": "${input:prooftell-key}" }
}
}
}
The tools
Each check is charged per check from your balance; the sandbox is free. The answer is the API's JSON, unchanged.
| Tool | Title | Call | Arguments |
|---|---|---|---|
look_up_phone_number |
Look up a phone number | POST /v1/phone |
phone (required); country, for a number in national format; level: basic, line_type (the default), current_carrier, line_status, fraud_score, each including the ones before it |
verify_email_address |
Verify an email address | POST /v1/email |
email (required); timeout, 1000 to 45000 ms |
look_up_ip_address |
Look up an IP address | POST /v1/ip |
ip (required) |
assess_identity_risk |
Assess the risk of an identity | POST /v1/assess |
any of phone, email, ip (one at least); country; reference |
get_balance |
Get the account's balance | GET /v1/balance |
— (free) |
An assessment answers a score from 0 to 100, a verdict (allow, review, deny) and the reasons that added to the
score; each signal's own result is under signals. A failed call comes back as a tool error with the API's message
and code — insufficient_balance names what the check needs and what to top up, rate_limited is a burst above the
key's rate, invalid_api_key a wrong or revoked key — so the assistant can say what to do.
The sandbox
With a pt_test_ key every call is simulated, deterministic and free: +447700900123 is a GB mobile,
+15005550003 is not valid; jane@example.com is deliverable, disposable@sandbox.prooftell.com disposable;
203.0.113.1 is a clean US address, 203.0.113.66 Tor; an assessment of +447700900123 with 203.0.113.1 is a
geo_mismatch, allowed with a score of 15. The full list is in the API reference: https://prooftell.com/docs.
Development
Plain JavaScript (ES modules), no build step: src/index.js (the server), src/tools.js (the tools and their
schemas), src/api.js (the requests).
npm install
npm test # the SDK's client spawns the server: the tools' list, the requests against a local stand-in for the
# API, the errors; with PROOFTELL_TEST_KEY set to a sandbox key (read into the command, never written
# down), every tool against staging as well
PROOFTELL_BASE_URL points the server at another API (https://api.prooftell.dev, staging); it is read from the
environment only.
Releasing
- npm, by GitHub Actions with provenance (
.github/workflows/release-mcp.ymlat the root of prooftell/integrations): bumpversioninpackage.jsonand inserver.json(both places), commit, tagmcp-v<version>and push the tag. The first release publishes with the repository secretNPM_TOKEN(a granular token with Read and write on all packages and Bypass two-factor authentication); after it, npm's trusted publishing (the package's settings, Publish access → Trusted Publishers → GitHub Actions, ownerprooftell, repositoryintegrations, workflowrelease-mcp.yml, "Allow npm publish" ticked), the secret and the token deleted. npm expires a new trusted publisher that no successful publish has used within 2 days (then: delete it, create it again and release within 2 days); the token-free path was first proven with 1.0.1. - The official MCP Registry, once the version is on npm, from this folder with
mcp-publisher:
mcp-publisher login dns --domain prooftell.com --private-key <the key's hex>, thenmcp-publisher publish. The namecom.prooftell/mcpis proven by the TXT recordv=MCPv1; k=ed25519; p=…at prooftell.com's apex;package.json'smcpNameties the npm package to it. A version published there cannot be changed or removed: a fix is a new version.
Resources
- ProofTell: https://prooftell.com/integrations?utm_source=mcp&utm_medium=integration
- The API reference: https://prooftell.com/docs
- Support: support@prooftell.com
License
MIT.
ProofTell MCP questions
How do I add ProofTell MCP to Claude Code?
Run claude mcp add --env 'PROOFTELL_API_KEY=<YOUR_PROOFTELL_API_KEY>' mcp -- npx -y @prooftell/mcp in your terminal. Add --scope user to make it available in every project.
How do I add ProofTell MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does ProofTell MCP provide?
It exposes 5 tools, including look_up_phone_number, verify_email_address, look_up_ip_address, assess_identity_risk, get_balance.
How do I test the server without spending money?
You can use a pt_test_ key, which provides a free sandbox with simulated, deterministic answers.
What information can the identity risk assessment provide?
An assessment provides a risk score from 0 to 100, a verdict (allow, review, or deny), and the specific reasons for the score.
Does the server store my data?
No, the server runs locally on your machine using stdio and does not store any information.
What happens if my API key has insufficient funds?
The tool will return an error message specifying what the check requires and how much balance needs to be topped up.