Forge MCP Server (SalesforgeAI/forge-mcp) is an MCP server listed on the M8ven Trust Index. It scores 56 out of 100, grade D. It declares 149 tools. No publisher has claimed this listing.

D
Caution
56/100

Forge MCP Server

Connects AI assistants to the complete Salesforge product suite, enabling management of workspaces, contacts, sequences, mailboxes, domains, and more across multiple sales tools.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

SalesforgeAI

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Known vulnerabilities in dependencies: 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
🔐
You'll be asked for 5 credentials: INFRAFORGE_API_KEY, LEADSFORGE_API_KEY, MAILFORGE_API_KEY, PRIMEFORGE_API_KEY, SALESFORGE_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes149 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

list_sequence_branches

List all branches in a multichannel sequence

list_contacts

List contacts in a workspace with optional filters (tags, validation status, pagination)

create_contact

Create a single contact in a workspace

bulk_create_contacts

Create up to 100 contacts in a workspace at once

get_contact

Get a contact by ID

list_custom_variables

List all custom variables in a workspace

add_dnc_entries

Add multiple Do-Not-Contact entries to a workspace (up to 1000). Pass email addresses or domains as plain strings.

enroll_contacts

Enroll contacts into a multichannel sequence using filters (lead IDs, tags, ESPs, validation status)

remove_enrollments

Remove contacts from a multichannel sequence

get_me

Validate API key and get current account info (accountId, apiKeyName)

infraforge_get_credit_balance

Get InfraForge credit balance

infraforge_create_credit_balance

Create/top up InfraForge credit balance

infraforge_update_credit_balance

Update InfraForge credit balance settings

infraforge_check_domain_availability

Check domain availability in InfraForge

infraforge_check_domain_availability_bulk

Check availability of multiple domains in InfraForge

infraforge_list_domains

List InfraForge domains

infraforge_purchase_domains

Purchase domains in InfraForge

infraforge_get_domain_dns

Get DNS records for an InfraForge domain

infraforge_update_domain_dns

Update DNS records for an InfraForge domain

infraforge_bulk_dns_update

Bulk update DNS across InfraForge domains

infraforge_get_alternative_domains

Generate alternative domain suggestions

infraforge_enable_autorenew

Enable auto-renewal for an InfraForge domain

infraforge_disable_autorenew

Disable auto-renewal for an InfraForge domain

infraforge_list_mailboxes

List InfraForge mailboxes

infraforge_get_mailbox

Get an InfraForge mailbox by ID

infraforge_update_mailbox

Update an InfraForge mailbox

infraforge_purchase_mailboxes

Purchase new mailboxes in InfraForge

infraforge_delete_mailbox

Delete an InfraForge mailbox

infraforge_generate_mailboxes

Generate mailbox configurations for InfraForge

infraforge_bulk_forward_mailboxes

Bulk set forwarding for InfraForge mailboxes

infraforge_list_workspaces

List InfraForge workspaces

infraforge_create_workspace

Create an InfraForge workspace

infraforge_update_workspace

Update an InfraForge workspace

infraforge_delete_workspace

Delete an InfraForge workspace

infraforge_export_mailboxes

Export InfraForge mailboxes

infraforge_export_to_salesforge

Export InfraForge mailboxes to Salesforge

leadsforge_enrich_emails

Find email addresses. Async — returns a jobID; poll leadsforge_get_enrichment_job and fetch results with leadsforge_get_enrichment_results.

leadsforge_enrich_phones

Find phone numbers. Async — returns a jobID; poll leadsforge_get_enrichment_job and fetch results with leadsforge_get_enrichment_results.

leadsforge_enrich_linkedin

Find LinkedIn profiles. Async — returns a jobID; poll leadsforge_get_enrichment_job and fetch results with leadsforge_get_enrichment_results.

leadsforge_get_enrichment_job

Get status of a LeadsForge enrichment job

leadsforge_get_enrichment_results

Get results of a LeadsForge enrichment job

leadsforge_search_lookalikes

Search for companies similar to provided domains

leadsforge_get_seniority_filters

Get available seniority filter values for LeadsForge

leadsforge_get_department_filters

Get available department filter values for LeadsForge

leadsforge_get_employee_range_filters

Get available employee range filter values for LeadsForge

leadsforge_get_balance

Get LeadsForge credit balance

leadsforge_search

Search for leads in LeadsForge. Returns lead previews only — emails/LinkedIn require a follow-up call to leadsforge_enrich_emails / leadsforge_enrich_linkedin with the returned person IDs. For pagination, pass the cursor from the previous response as `cursor` — when cursor is set, filters are ignore

list_mailboxes

List mailboxes in a workspace with optional filters

get_mailbox

Get mailbox details by ID

download_email_attachments

Download all attachments from an email as a ZIP (returns content-type and base64-encoded data)

download_email_attachment

Download a single email attachment by content ID (returns content-type and base64-encoded data)

reply_to_email
mailforge_list_domains

List domains in MailForge, optionally filtered by status

mailforge_purchase_domains

Purchase domains in MailForge

mailforge_check_domain_availability

Check if a domain is available for purchase in MailForge

mailforge_check_domain_availability_bulk

Check availability of multiple domains in MailForge (max 100)

mailforge_transfer_domains

Transfer domains into MailForge

mailforge_get_domain_dns

Get DNS records for a MailForge domain

mailforge_update_domain_dns

Update DNS records for a MailForge domain

mailforge_bulk_dns_update

Bulk update DNS across multiple MailForge domains

mailforge_enable_autorenew

Enable auto-renewal for a MailForge domain

mailforge_disable_autorenew

Disable auto-renewal for a MailForge domain

mailforge_bulk_enable_autorenew

Enable auto-renewal for multiple MailForge domains

mailforge_bulk_disable_autorenew

Disable auto-renewal for multiple MailForge domains

mailforge_update_domain_forwards

Update forwarding settings for MailForge domains

mailforge_purchase_domain_masking

Purchase domain masking for MailForge domains

mailforge_delete_domain_masking

Delete domain masking for a MailForge domain

mailforge_list_mailboxes

List all mailboxes in MailForge

mailforge_get_mailbox

Get a specific MailForge mailbox by ID

mailforge_purchase_mailboxes

Purchase mailboxes in MailForge

mailforge_update_mailbox

Update a MailForge mailbox

mailforge_delete_mailbox

Delete a MailForge mailbox

mailforge_bulk_forward_mailboxes

Set forwarding email for multiple MailForge mailboxes

mailforge_adjust_topup_amount

Adjust the mailbox top-up amount in MailForge

mailforge_list_workspaces

List all workspaces in MailForge

mailforge_create_workspace

Create a workspace in MailForge

mailforge_update_workspace

Update a MailForge workspace name

mailforge_delete_workspace

Delete a MailForge workspace

list_sequence_nodes

List all nodes (workflow steps) in a multichannel sequence

get_sequence_node

Get a specific node by ID

create_action_node

Create an action node (email, LinkedIn message, connection request, etc.) in a multichannel sequence. IMPORTANT: branchId is required — get it from list_sequence_branches or list_sequence_nodes (branches array). Delay is set via waitDays (integer, days to wait before executing this node).

update_action_node

Update an existing action node's message content or delay. Delay is set via wait_in_minutes (integer minutes). To update message copy, pass variants with metadata containing subject and message.

create_condition_node

Create a condition node (branching logic) in a multichannel sequence. IMPORTANT: branchId is required.

delete_sequence_node

Delete a node from a multichannel sequence

primeforge_list_domains

List domains in PrimeForge

primeforge_get_domain

Get a PrimeForge domain by ID

primeforge_search_domains

Search available domains for purchase in PrimeForge

primeforge_buy_domains

Purchase domains in PrimeForge

primeforge_delete_domain

Delete a PrimeForge domain

primeforge_get_domain_dns

Get DNS records for a PrimeForge domain

primeforge_bulk_dns_update

Bulk update DNS records across PrimeForge domains

primeforge_create_mailboxes_for_domain

Create mailboxes for a PrimeForge domain

primeforge_list_mailboxes

List PrimeForge mailboxes

primeforge_get_mailbox

Get a PrimeForge mailbox by ID

primeforge_update_mailbox

Update a PrimeForge mailbox

primeforge_delete_mailbox

Delete a PrimeForge mailbox

primeforge_list_prewarmed_mailboxes

List available pre-warmed mailboxes for purchase

primeforge_purchase_prewarmed_mailboxes

Purchase pre-warmed mailboxes

primeforge_list_workspaces

List PrimeForge workspaces

primeforge_create_workspace

Create a PrimeForge workspace

49 further tools are not listed here. The complete surface is in the source.

// known CVEs in dependencies3 high

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

high@modelcontextprotocol/sdk@1.12.1GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.12.1GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

high@modelcontextprotocol/sdk@1.12.1GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
🔐 secretINFRAFORGE_API_KEY
🔐 secretLEADSFORGE_API_KEY
🔐 secretMAILFORGE_API_KEY
🔐 secretPRIMEFORGE_API_KEY
🔐 secretSALESFORGE_API_KEY
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployPORT
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

149/149 tools missing one or more hints — list_sequence_branches (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_contacts (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); create_contact (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +146 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool inputs are validated

133/149 tool handlers declare input schemas (89%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool handlers catch errors

Only 0/149 tool handlers wrap calls in try/catch (0%)

Wrap each tool handler body in try/catch and return a structured error response.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Tests exist

No test files found

Add tests that exercise each declared tool.

Production dependencies are patched

0 critical, 3 high severity in production deps — @modelcontextprotocol/sdk@1.12.1 (high), @modelcontextprotocol/sdk@1.12.1 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 7 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/salesforgeai/forge-mcp?variant=verified)](https://m8ven.ai/mcp/salesforgeai/forge-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: c349426a8220ff80cd726888cc637a224105f004
code hash: 11cd0432e6aac118080140931471f57a1080c37dfdf0b6f723dc5591a272e65c
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client