Saber
REMOTE · MCP.SABER.APP · SCANNED AUG 3
Sales intelligence — research companies, qualify prospects, and find contacts.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security97
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability78
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3813 tokens (~44/item across 85 items; 84 tools + 1 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.saber.app
claude mcp add --transport http app-saber-mcp-saber https://mcp.saber.app/mcp
[mcp_servers.app-saber-mcp-saber] url = "https://mcp.saber.app/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"app-saber-mcp-saber": {
"type": "remote",
"url": "https://mcp.saber.app/mcp",
"enabled": true
}
}
} openclaw mcp add app-saber-mcp-saber --url https://mcp.saber.app/mcp --transport streamable-http
mcp_servers:
app-saber-mcp-saber:
url: "https://mcp.saber.app/mcp" {
"mcpServers": {
"app-saber-mcp-saber": {
"type": "http",
"url": "https://mcp.saber.app/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +5
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 75
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://mcp.saber.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.saber.app | CN=WR3,O=Google Trust Services,C=US | 10 Jun 2026 | 8 Sept 2026 | RSA 2048 | SHA256-RSA | c2f24e6c45d550411219b67bf1b39312 |
| SANs: mcp.saber.app | ||||||
| CN=WR3,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a91568d63abc22861684aa4b5a |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
DNSSEC secure
Validation of mcp.saber.app. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| saber.app. | present | 39806 | 13 | Verified |
| mcp.saber.app. | Verified address RRset verified with the apex keys |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="Saber MCP", resource_metadata="https://mcp.saber.app/.well-known/oauth-protected-resource"
Bearer realm="Saber MCP", resource_metadata="https://mcp.saber.app/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | geolocation=(), microphone=() |
Protected resource metadata
| Document | https://mcp.saber.app/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.saber.app |
| Authorisation server | https://mcp.saber.app |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.saber.app/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.saber.app/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
company_lists-count_preview ~39
Estimate how many companies match a list filter and how many credits the list operation would cost.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
company_lists-create ~41
Save a company filter as a reusable list for review, signals, scoring, export, and CRM workflows.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
company_lists-delete ~38
Delete a saved company list and remove its reusable segment boundary.
| Name | Type | Req | Description |
|---|---|---|---|
| listId | string | yes | The unique identifier of the company list to delete |
No output schema declared.
No examples provided.
company_lists-export ~52
Export a saved company list to CSV, optionally including selected firmographic and signal columns.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | — | Request body |
| listId | string | yes | The unique identifier of the company list |
No output schema declared.
No examples provided.
company_lists-get ~37
Retrieve company list metadata, including its filter and current company count.
| Name | Type | Req | Description |
|---|---|---|---|
| listId | string | yes | The unique identifier of the company list |
No output schema declared.
No examples provided.
company_lists-get_companies ~76
Page through companies that match a saved company list filter.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum number of companies to return (1–100, default 25) |
| listId | string | yes | The unique identifier of the company list |
| offset | integer | — | Number of companies to skip for pagination (default 0) |
No output schema declared.
No examples provided.
company_lists-import ~39
Import companies from a HubSpot list, view, or segment into a saved Saber company list.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
company_lists-list ~55
List saved company lists with pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum number of lists to return (1–100, default 20) |
| offset | integer | — | Number of lists to skip for pagination (default 0) |
No output schema declared.
No examples provided.
company_lists-search ~37
Preview up to 50 companies that match a filter before creating a reusable company list.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
company_lists-update ~50
Update a company list name or filter and refresh cached matching companies.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
| listId | string | yes | The unique identifier of the company list to update |
No output schema declared.
No examples provided.
company_signals-create ~42
Create a company research signal, return immediately, then poll the signal ID or receive results through a webhook.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
company_signals-create_batch ~41
Create many company signals across domains, questions, or templates. Use templates for larger standardized batches.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
company_signals-get ~44
Retrieve the current status and AI-generated answer for a company signal when it has completed.
| Name | Type | Req | Description |
|---|---|---|---|
| signalId | string | yes | The unique identifier of the signal (UUID format) |
No output schema declared.
No examples provided.
company_signals-list ~175
List company signal runs with optional filters for domain, company ID, completion date, status, and subscription.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | — | Filter signals by company ID |
| domain | string | — | Filter signals by company domain (e.g., "acme.com") |
| fromDate | string | — | Filter signals completed on or after this date (RFC3339 format) |
| limit | integer | — | Maximum number of results per page |
| offset | integer | — | Number of results to skip for pagination |
| status | array | — | Filter by signal status (can be specified multiple times for multiple statuses) |
| subscriptionId | string | — | Filter signals by subscription ID (UUID of the signal subscription that triggered execution) |
| toDate | string | — | Filter signals completed on or before this date (RFC3339 format) |
No output schema declared.
No examples provided.
company_signals-subscription_logs ~153
List company signal executions produced by a specific signal subscription, with filters and pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | — | Filter signals by company ID |
| domain | string | — | Filter signals by company domain |
| fromDate | string | — | Filter signals completed on or after this date (RFC3339 format) |
| limit | integer | — | Maximum number of results per page |
| offset | integer | — | Number of results to skip for pagination |
| status | array | — | Filter by signal status (can be specified multiple times) |
| subscriptionId | string | yes | The UUID of the signal subscription |
| toDate | string | — | Filter signals completed on or before this date (RFC3339 format) |
No output schema declared.
No examples provided.
connectors-list ~15
List connectors and their connection status
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
contact_lists-create ~42
Run a LinkedIn Sales Navigator search, store a point-in-time contact snapshot, and return contact list metadata.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
contact_lists-delete ~36
Permanently delete a contact list and its stored contact snapshots.
| Name | Type | Req | Description |
|---|---|---|---|
| listId | string | yes | The unique identifier of the contact list |
No output schema declared.
No examples provided.
contact_lists-get ~34
Retrieve contact list metadata and the stored contact count.
| Name | Type | Req | Description |
|---|---|---|---|
| listId | string | yes | The unique identifier of the contact list |
No output schema declared.
No examples provided.
contact_lists-get_contacts ~80
Page through contacts stored in a saved list without making a new Sales Navigator request.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum number of contacts to return (1–100, default 25) |
| listId | string | yes | The unique identifier of the contact list |
| offset | integer | — | Number of contacts to skip for pagination (default 0) |
No output schema declared.
No examples provided.
contact_lists-list ~55
List saved contact lists with pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum number of lists to return (1–100, default 20) |
| offset | integer | — | Number of lists to skip for pagination (default 0) |
No output schema declared.
No examples provided.
contact_lists-update ~47
Rename a saved contact list without changing its stored contact snapshot.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
| listId | string | yes | The unique identifier of the contact list |
No output schema declared.
No examples provided.
contacts-create_research ~43
Start asynchronous AI research for a contact using LinkedIn and other sources, then poll the research ID for results.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
contacts-create_signal ~41
Create a contact research signal, return immediately, then poll the signal ID or receive results through a webhook.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
contacts-get_research ~43
Retrieve the current status and AI-generated insights for a contact research job when it has completed.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the contact research request |
No output schema declared.
No examples provided.
contacts-get_signal ~44
Retrieve the current status and AI-generated answer for a contact signal when it has completed.
| Name | Type | Req | Description |
|---|---|---|---|
| signalId | string | yes | The unique identifier of the contact signal (UUID format) |
No output schema declared.
No examples provided.
contacts-list_signals ~72
List contact signal runs with optional filters for profile URL and pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| contactProfileUrl | string | — | Filter signals by contact profile URL (LinkedIn or other professional profile) |
| limit | integer | — | Maximum number of results per page |
| offset | integer | — | Number of results to skip for pagination |
No output schema declared.
No examples provided.
contacts-search ~46
Search for contacts by company, name, job title, keyword, country, department, or seniority using the API key owner's Sales Navigator connection.
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | — | yes | Request body |
No output schema declared.
No examples provided.
credits-get_balance ~25
Check how many Saber API credits your organization has left in the current billing period.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
findEmail ~31
Find a verified email address for a contact at a domain
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
findEmailBatchGet ~34
Poll a bulk find-email batch
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The `batch_id` returned by the submit call. |
No output schema declared.
No examples provided.
findEmailBatchSubmit ~28
Submit a bulk find-email batch
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
getContactResearchByExternalID ~81
Retrieve contact research using an external system ID, such as a HubSpot contact ID, plus the source name.
| Name | Type | Req | Description |
|---|---|---|---|
| externalId | string | yes | The external identifier of the contact research request (e.g., HubSpot contact ID) |
| externalSource | string | yes | The source system that provided the external ID (e.g., "hubspot") |
No output schema declared.
No examples provided.
market_signals-create_subscription ~44
Create a market signal subscription to monitor job posts, LinkedIn posts, fundraising, investments, or IPOs
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
market_signals-delete_subscription ~33
Delete a market signal subscription
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | string | yes | The unique identifier of the subscription to delete |
No output schema declared.
No examples provided.
market_signals-get_subscription ~33
Get a market signal subscription by ID
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | string | yes | The unique identifier of the subscription |
No output schema declared.
No examples provided.
market_signals-list_signals ~74
List signals delivered by a market signal subscription
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum number of signals to return (1-100, default 20) |
| offset | integer | — | Number of signals to skip for pagination (default 0) |
| subscriptionId | string | yes | The unique identifier of the subscription |
No output schema declared.
No examples provided.
market_signals-list_subscriptions ~76
List all market signal subscriptions for your organization
| Name | Type | Req | Description |
|---|---|---|---|
| includeDeleted | boolean | — | Include soft-deleted subscriptions in the response |
| limit | integer | — | Maximum number of subscriptions to return (1-100, default 20) |
| offset | integer | — | Number of subscriptions to skip for pagination (default 0) |
No output schema declared.
No examples provided.
market_signals-pause_subscription ~34
Pause a market signal subscription
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | string | yes | The unique identifier of the subscription to pause |
No output schema declared.
No examples provided.
market_signals-resume_subscription ~35
Resume a paused market signal subscription
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | string | yes | The unique identifier of the subscription to resume |
No output schema declared.
No examples provided.
market_signals-trigger_subscription ~37
Trigger an immediate run of a market signal subscription
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | string | yes | The unique identifier of the subscription to trigger |
No output schema declared.
No examples provided.
market_signals-update_subscription ~44
Update a market signal subscription
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
| subscriptionId | string | yes | The unique identifier of the subscription to update |
No output schema declared.
No examples provided.
organisation-get ~13
Get your organisation profile
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
organisation-update ~24
Update your organisation profile
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
scoring-assignment-bulk-create ~32
Assign a profile to many objects at once
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
scoring-assignment-create ~29
Assign a profile to a single object
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
scoring-assignment-delete ~26
Remove a profile assignment
| Name | Type | Req | Description |
|---|---|---|---|
| assignmentId | string | yes | Profile assignment UUID |
No output schema declared.
No examples provided.
scoring-assignment-list ~68
List profile assignments for an object
| Name | Type | Req | Description |
|---|---|---|---|
| objectId | string | yes | For `company` use the domain (e.g. `acme.com`); for `contact` use the LinkedIn profile URL |
| objectType | string | yes | Object type (`company` or `contact`) |
No output schema declared.
No examples provided.
scoring-compute ~25
Trigger score recomputation
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.
scoring-profile-create ~25
Create a scoring profile
| Name | Type | Req | Description |
|---|---|---|---|
| __requestBody | object | yes | Request body |
No output schema declared.
No examples provided.