Outcomet
REMOTE · MCP.OUTCOMET.APP
Read customer feedback, problems and initiatives in Outcomet, and log new feedback from chat.
Available components
Last scanned (43 minutes ago)
Scores higher than 76% of remote servers
Reachable. Last reached 5 Nov 2026.
Category CRM and Sales
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 → Why this is hard to score →
Endpoint Security92
- 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
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability76
- 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
- Context-footprint check failed: tool/resource definitions use about 10668 tokens (~124/item across 86 items; 84 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
- Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage90
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 64% of tool parameters carry a description.Partial
- Structured output schemas are declared (99% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 12 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 86 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
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.
- 5 Nov 26 0
- Stability: unverified → 0.03 ▲ functional
- 4 Nov 26 +41
- Transport: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Authorization: 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. security
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 64 functional
- First check of Schema quality: fail functional
- First check of Capabilities: pass functional
- First check of Tool coverage: 99 functional
- First check of Destructive annotations: 100 functional
- First check of Schema quality: good functional
- 18 Oct 26 37
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 5 Nov 2026 · Probed https://mcp.outcomet.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.outcomet.app | CN=WE1,O=Google Trust Services,C=US | 13 Oct 2026 | 11 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | f95d75204bcc94b10e09733aa64ce441 |
| SANs: mcp.outcomet.app | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.outcomet.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| outcomet.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
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="outcomet-mcp", resource_metadata="https://mcp.outcomet.app/.well-known/oauth-protected-resource", scope="product_context:read feedback:create feedback:write work_items:write contacts:write competitors:write initiatives:write capabilities:create capabilities:write problems:write"
Bearer realm="outcomet-mcp", resource_metadata="https://mcp.outcomet.app/.well-known/oauth-protected-resource", scope="product_context:read feedback:create feedback:write work_items:write contacts:write competitors:write initiatives:write capabilities:create capabilities:write problems:write" Protected resource metadata
| Document | https://mcp.outcomet.app/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.outcomet.app/mcp |
| Authorisation server | https://mcp.outcomet.app |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.outcomet.app/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.outcomet.app/mcp | HTTPS enforced | 301 | https://mcp.outcomet.app/mcp |
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
campaign_create Create Campaign ~171
Creates a draft Campaign. Requires contacts:write. Optional playbookId copies a workspace playbook. Does not enroll contacts or send messages. Reuse the idempotencyKey for exact retries; changed input needs a new key. Without a playbook uses the generic other stage preset, including parked stages.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignType | string | – | – |
| description | string | – | – |
| goal | string | – | Campaign goal, e.g. learn, recruit_interviews, relationship_building, audience_growth, or a custom goal. |
| idempotencyKey | string | yes | Stable UUID reused for exact retries; changed input needs a new key. |
| name | string | yes | – |
| playbookId | string | – | Optional workspace playbook; its stages are copied. Creates a draft without enrolling or contacting anyone. |
| Name | Type | Req | Description |
|---|---|---|---|
| campaign | object | yes | – |
No examples provided.
campaign_get Get Campaign ~35
Fetches one safe, tenant-scoped Outcomet campaign summary by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | Stable campaign UUID. |
| Name | Type | Req | Description |
|---|---|---|---|
| campaign | – | yes | – |
No examples provided.
campaign_interaction_create Create Campaign Interaction ~232
Logs an outreach touchpoint or interaction (viewed, invited, messaged, commented, liked, replied, booked_call, email, other) for a campaign member or contact.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string|null | – | Optional interaction content / notes / snippet. |
| campaignId | string | – | Stable campaign UUID. If memberId is provided, campaignId is automatically resolved. |
| companyId | string | – | Optional company UUID. |
| contactAccountId | string | – | Optional contact account UUID (e.g. LinkedIn profile). |
| direction | string | – | Direction of interaction (default outbound). |
| interactionType | string | yes | Type of interaction. |
| memberId | string | – | Optional campaign member UUID. When provided, automatically resolves campaignId, personId, companyId, and contactAccountId. |
| occurredAt | – | – | ISO timestamp of when the interaction occurred (defaults to now). |
| personId | string | – | Optional contact person UUID. |
| source | string | – | Origin source (defaults to agent). |
| url | string|null | – | URL of the post or interaction. Required for outbound commented interactions. |
| Name | Type | Req | Description |
|---|---|---|---|
| interaction | object | yes | – |
No examples provided.
campaign_interaction_delete Delete Campaign Interaction ~46
Deletes a campaign interaction touchpoint by its UUID (e.g. for cleaning up test entries or mistaken logs).
| Name | Type | Req | Description |
|---|---|---|---|
| interactionId | string | yes | Stable campaign interaction UUID to delete. |
| Name | Type | Req | Description |
|---|---|---|---|
| deleted | boolean | yes | – |
| interactionId | string | yes | – |
No examples provided.
campaign_interaction_list Search Campaign Interactions ~101
Searches chronological interactions and touchpoints for one campaign.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | Stable campaign UUID. |
| cursor | string | – | Opaque cursor returned by the preceding page. |
| limit | integer | – | Maximum interaction count (1-50, default 25). |
| memberId | string | – | Optional campaign member UUID filter. |
| offset | integer | – | Optional non-negative record offset. |
| personId | string | – | Optional person UUID filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| hasMore | boolean | – | – |
| page | object | – | – |
| results | array | yes | – |
No examples provided.
campaign_list_members Search Campaign Members ~118
Searches tenant-scoped campaign members for one campaign.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | Stable campaign UUID. |
| cursor | string | – | Opaque cursor returned by the preceding page. |
| dueOnOrBefore | string | – | Optional next-action due upper bound. |
| limit | integer | – | Maximum member count. |
| missingProfileUrl | boolean | – | Optional filter to return only members lacking a verified profile URL for the campaign channel. |
| offset | integer | – | Optional non-negative record offset. |
| stage | string | – | Optional campaign stage filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | object | yes | – |
| results | array | yes | – |
No examples provided.
campaign_member_create Create Campaign Member ~162
Enrolls a person, company, or account into a campaign with duplicate protection.
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | yes | Stable campaign UUID. |
| companyId | string | – | Company UUID to enroll into the campaign. |
| contactAccountId | string | – | Contact account UUID to enroll into the campaign. |
| nextAction | string|null | – | Next action description. |
| nextActionDue | – | – | Due date for next action (YYYY-MM-DD). |
| personId | string | – | Person UUID to enroll into the campaign. |
| selectionRationale | string|null | – | Operator selection rationale. |
| stage | string | – | Initial campaign stage key (defaults to first stage in campaign stage_set or scouted). |
| status | string | – | Initial member status (defaults to selected). |
| Name | Type | Req | Description |
|---|---|---|---|
| alreadyMember | boolean | – | – |
| campaignMember | object | yes | – |
| created | boolean | – | – |
No examples provided.
campaign_member_delete Delete Campaign Member ~53
Removes a campaign member enrollment (and its stage-transition history) from a campaign without deleting the underlying contact, company, or campaign interactions.
| Name | Type | Req | Description |
|---|---|---|---|
| memberId | string | yes | Stable campaign member UUID to remove from the campaign. |
| Name | Type | Req | Description |
|---|---|---|---|
| campaignId | string | – | – |
| companyId | string | – | – |
| contactAccountId | string | – | – |
| deleted | boolean | yes | – |
| memberId | string | yes | – |
| personId | string | – | – |
No examples provided.
campaign_member_get Get Campaign Member ~35
Fetches one safe, tenant-scoped campaign member summary by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| memberId | string | yes | Stable campaign member UUID. |
| Name | Type | Req | Description |
|---|---|---|---|
| campaignMember | – | yes | – |
No examples provided.
campaign_member_update Update Campaign Member ~151
Updates a campaign member stage, status (parking/active), next action, due date, recheck date, or operator rationale.
| Name | Type | Req | Description |
|---|---|---|---|
| memberId | string | yes | Stable campaign member UUID. |
| nextAction | string|null | – | Next scheduled action description. |
| nextActionDue | – | – | Due date for next action (YYYY-MM-DD). |
| recheckAt | – | – | Scheduled recheck / follow-up date (YYYY-MM-DD). |
| selectionRationale | string|null | – | Updated operator rationale or notes. |
| stage | string | – | Target campaign stage key from the campaign stage_set (e.g. scouted, connect-sent, in-conversation, etc.). |
| status | string | – | Campaign member status. |
| Name | Type | Req | Description |
|---|---|---|---|
| campaignMember | object | yes | – |
No examples provided.
campaign_search Search Campaigns ~68
Searches tenant-scoped Outcomet campaigns.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor returned by the preceding page. |
| limit | integer | – | Maximum campaign count. |
| offset | integer | – | Optional non-negative record offset. |
| query | string | – | Optional campaign name/type/goal filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | object | yes | – |
| results | array | yes | – |
No examples provided.
capability_create Create Capability ~119
Creates a new Outcomet Capability directly. Reuse the same idempotencyKey for exact retries. Does not create a proposal.
| Name | Type | Req | Description |
|---|---|---|---|
| description | – | – | – |
| domain | – | – | – |
| idempotencyKey | string | yes | Stable UUID reused for exact retries. |
| maturity | string | – | Capability maturity: concept, beta, stable, optimized. Defaults to concept on creation; live is not a valid value. |
| name | string | yes | – |
| owner | string | – | – |
| parentCapabilityId | – | – | – |
| tags | array | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| capability | object | yes | – |
| idempotencyKey | string | yes | – |
No examples provided.
capability_get Get Capability ~38
Fetches one safe, tenant-scoped Outcomet capability context summary.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | – |
| lifecycle | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| capability | – | yes | – |
| meta | object | – | – |
No examples provided.
capability_link_change Link Capability Change ~80
Explicitly links one existing Change or Pull Request to a Capability. Requires capabilities:write.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | Unique identifier of the capability to link. |
| changeId | string | yes | Unique identifier of the change or pull request to link. |
| idempotencyKey | string | yes | Reuse only when retrying exactly the same request. |
| Name | Type | Req | Description |
|---|---|---|---|
| capability | object | yes | – |
| change | object | yes | – |
| idempotencyKey | string | yes | – |
No examples provided.
capability_link_opportunity Link Capability Opportunity ~82
Explicitly links one existing Strategic Opportunity to a Capability through the shared app command. Requires capabilities:write.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | Unique identifier of the capability to link. |
| idempotencyKey | string | yes | Reuse only when retrying exactly the same request. |
| opportunityId | string | yes | Unique identifier of the strategic opportunity to link. |
| Name | Type | Req | Description |
|---|---|---|---|
| capability | object | yes | – |
| idempotencyKey | string | yes | – |
| opportunity | object | yes | – |
No examples provided.
capability_link_work_item Link Capability Work Item ~62
Links an existing Work Item to an active Capability through the shared app command.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | – |
| idempotencyKey | string | yes | Reuse only when retrying exactly the same request. |
| workItemId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| receipt | object | yes | – |
No examples provided.
capability_list_children List Capability Children ~52
Lists one capability's direct children with stable pagination and explicit completeness facts.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | – |
| cursor | string | – | – |
| lifecycle | string | – | – |
| limit | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| completeness | object | – | – |
| filters | object | – | – |
| meta | object | – | – |
| order | array | – | – |
| page | object | – | – |
| results | array | yes | – |
No examples provided.
capability_list_relationships List Capability Relationships ~61
Lists typed, directed capability relationships with stable pagination and explicit completeness facts.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | – |
| cursor | string | – | – |
| lifecycle | string | – | – |
| limit | integer | – | – |
| relationshipTypes | array | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| completeness | object | yes | – |
| filters | object | yes | – |
| meta | object | yes | – |
| order | array | yes | – |
| page | object | yes | – |
| results | array | yes | – |
No examples provided.
capability_merge Merge Capabilities ~114
Merges a source Capability into a survivor, transfers governed relationships, and retires the source. Requires capabilities:write, both latest row versions, and an explicit resolution.
| Name | Type | Req | Description |
|---|---|---|---|
| dependencyDisposition | object | – | – |
| expectedSourceRowVersion | string | yes | – |
| expectedSurvivorRowVersion | string | yes | – |
| idempotencyKey | string | yes | Stable UUID reused for exact retries. |
| resolvedFields | object | yes | – |
| sourceCapabilityId | string | yes | – |
| survivorCapabilityId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | yes | – |
| sourceCapability | object | yes | – |
| survivorCapability | object | yes | – |
No examples provided.
capability_reparent Reparent Capability ~84
Moves one active Capability below another active Capability, or to the root with parentCapabilityId null. Requires capabilities:write and the latest row version.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | – |
| expectedRowVersion | string | yes | – |
| idempotencyKey | string | yes | Stable UUID reused for exact retries. |
| parentCapabilityId | – | yes | – |
| sortOrder | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| capability | object | yes | – |
| idempotencyKey | string | yes | – |
| parentCapability | – | yes | – |
No examples provided.
capability_retire Retire Capability ~75
Retires one active Capability while retaining its relationships for history. Requires capabilities:write, the latest row version, and a reason.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | – |
| expectedRowVersion | string | yes | – |
| idempotencyKey | string | yes | Stable UUID reused for exact retries. |
| reason | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| capability | object | yes | – |
| idempotencyKey | string | yes | – |
| lifecycleStatus | string | yes | – |
No examples provided.
capability_search Search Capabilities ~124
Searches scoped Capability summaries using the original natural-language DE/EN question, UUID, name or identifier. Ranked search is a bounded shortlist; preserve meta.search coverage/degradation and never infer nonexistence. Empty query lists deterministically. Use capability children/relationships tools for graph navigation. Continue with page.nextCursor; restart on invalid_cursor.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| demoBatchId | string | – | Exact Demo batch for query search; default searches real Capabilities. |
| lifecycle | string | – | – |
| limit | integer | – | – |
| query | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| completeness | object | – | – |
| filters | object | – | – |
| meta | object | – | – |
| order | array | – | – |
| page | object | – | – |
| results | array | yes | – |
No examples provided.
capability_unlink_change Unlink Capability Change ~82
Explicitly removes a link between a Change/PR and a Capability. Requires capabilities:write.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | Unique identifier of the capability to unlink. |
| changeId | string | yes | Unique identifier of the change or pull request to unlink. |
| idempotencyKey | string | yes | Reuse only when retrying exactly the same request. |
| Name | Type | Req | Description |
|---|---|---|---|
| capability | object | yes | – |
| change | object | yes | – |
| idempotencyKey | string | yes | – |
No examples provided.
capability_unlink_opportunity Unlink Capability Opportunity ~85
Explicitly removes a link between a Strategic Opportunity and a Capability through the shared app command. Requires capabilities:write.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | Unique identifier of the capability to unlink. |
| idempotencyKey | string | yes | Reuse only when retrying exactly the same request. |
| opportunityId | string | yes | Unique identifier of the strategic opportunity to unlink. |
| Name | Type | Req | Description |
|---|---|---|---|
| capability | object | yes | – |
| idempotencyKey | string | yes | – |
| opportunity | object | yes | – |
No examples provided.
capability_unlink_work_item Unlink Capability Work Item ~64
Removes an explicit Work Item–Capability relationship. Does not remove inherited Change relationships.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | – |
| idempotencyKey | string | yes | Reuse only when retrying exactly the same request. |
| workItemId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| receipt | object | yes | – |
No examples provided.
capability_update Update Capability ~143
Updates allowlisted Capability fields. Requires capabilities:write. Read capability_get for expectedRowVersion; use a new idempotencyKey for changed input. Does not create a proposal.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilityId | string | yes | – |
| description | – | – | – |
| domain | – | – | – |
| expectedRowVersion | string | yes | – |
| health | – | – | – |
| idempotencyKey | string | yes | Stable UUID reused for exact retries. |
| maturity | string | – | Capability maturity: concept, beta, stable, optimized. Defaults to concept on creation; live is not a valid value. |
| name | string | – | – |
| owner | string | – | – |
| tags | array | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| capability | object | yes | – |
| idempotencyKey | string | yes | – |
No examples provided.
change_get Get Change ~41
Read a Change and its explicit Feedback/Evidence fix claims, including stale evidence indicators. A link alone does not close Feedback.
| Name | Type | Req | Description |
|---|---|---|---|
| changeId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| change | object | yes | – |
No examples provided.
change_search Search Changes ~82
Find Changes by exact source ID or repository, with stable pagination. Use the returned UUID when linking fix evidence.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor returned by the preceding page. |
| limit | integer | – | – |
| query | string | – | – |
| repo | string | – | – |
| sourceId | string | – | – |
| sourceProvider | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| page | object | yes | – |
| results | array | yes | – |
No examples provided.
company_create Create Company ~377
Creates one tenant-scoped Outcomet company for the verified MCP caller.
| Name | Type | Req | Description |
|---|---|---|---|
| blueskyHandle | string|null | – | Optional Bluesky handle/DID (or null/empty to clear). |
| blueskyProfileUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| blueskyUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| companySizeRange | string|null | – | – |
| customFields | object | – | Optional organization-defined custom fields map (snake_case key -> value, or null to clear). Call contact_custom_fields_list to inspect valid keys and types. |
| domain | string|null | – | – |
| icpFitRationale | string|null | – | – |
| icpFitScore | – | – | – |
| icpFitState | string|null | – | – |
| lifecycleStatus | string|null | – | – |
| linkedinProfileUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| linkedinUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| name | string | yes | – |
| notes | string|null | – | – |
| profiles | array | – | Optional multi-platform profile entries to upsert or clear. |
| sourceLabel | string | – | Network provenance to append without replacing an existing source. |
| tags | array | – | Tags to add without removing existing tags. |
| vertical | string|null | – | – |
| websiteUrl | string|null | – | – |
| xHandle | string|null | – | Optional X/Twitter handle (or null/empty to clear). |
| xProfileUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| xUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| Name | Type | Req | Description |
|---|---|---|---|
| company | object | yes | – |
No examples provided.
company_get Get Company ~35
Fetches one safe, tenant-scoped Outcomet company summary by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | Stable company UUID. |
| Name | Type | Req | Description |
|---|---|---|---|
| company | – | yes | – |
No examples provided.
company_search Search Companies ~119
Searches tenant-scoped Outcomet companies.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor returned by the preceding page. |
| icpFitState | string|null | – | Optional ICP fit state filter: unknown, strong_fit, partial_fit, weak_fit, not_fit. |
| lifecycleStatus | string|null | – | Optional company lifecycle status filter: prospect, customer, partner, competitor, unknown. |
| limit | integer | – | Maximum company count. |
| offset | integer | – | Optional non-negative record offset. |
| query | string | – | Optional text/domain filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | object | yes | – |
| results | array | yes | – |
No examples provided.
company_update Update Company ~385
Updates allowlisted fields on one tenant-scoped Outcomet company.
| Name | Type | Req | Description |
|---|---|---|---|
| blueskyHandle | string|null | – | Optional Bluesky handle/DID (or null/empty to clear). |
| blueskyProfileUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| blueskyUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| companyId | string | yes | – |
| companySizeRange | string|null | – | – |
| customFields | object | – | Optional organization-defined custom fields map (snake_case key -> value, or null to clear). Call contact_custom_fields_list to inspect valid keys and types. |
| domain | string|null | – | – |
| icpFitRationale | string|null | – | – |
| icpFitScore | – | – | – |
| icpFitState | string|null | – | – |
| lifecycleStatus | string|null | – | – |
| linkedinProfileUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| linkedinUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| name | string|null | – | – |
| notes | string|null | – | – |
| profiles | array | – | Optional multi-platform profile entries to upsert or clear. |
| sourceLabel | string | – | Network provenance to append without replacing an existing source. |
| tags | array | – | Tags to add without removing existing tags. |
| vertical | string|null | – | – |
| websiteUrl | string|null | – | – |
| xHandle | string|null | – | Optional X/Twitter handle (or null/empty to clear). |
| xProfileUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| xUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| Name | Type | Req | Description |
|---|---|---|---|
| company | object | yes | – |
No examples provided.
company_upsert Upsert Company ~438
Creates or updates one tenant-scoped company by ID, domain, or name; sourceLabel adds network provenance without replacing an existing source.
| Name | Type | Req | Description |
|---|---|---|---|
| blueskyHandle | string|null | – | Optional Bluesky handle/DID (or null/empty to clear). |
| blueskyProfileUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| blueskyUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| companyId | string | – | Stable company UUID if known; if omitted, resolves by domain, LinkedIn URL, or name. |
| companySizeRange | string|null | – | – |
| customFields | object | – | Optional organization-defined custom fields map (snake_case key -> value, or null to clear). Call contact_custom_fields_list to inspect valid keys and types. |
| domain | string|null | – | Company domain for matching or updating. |
| icpFitRationale | string|null | – | – |
| icpFitScore | – | – | – |
| icpFitState | string|null | – | – |
| lifecycleStatus | string|null | – | – |
| linkedinProfileUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| linkedinUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| name | string | – | Company name. Required when creating a new company if not resolving an existing record. |
| notes | string|null | – | – |
| profiles | array | – | Optional multi-platform profile entries to upsert or clear. |
| sourceLabel | string | – | Network provenance to append without replacing an existing source. |
| tags | array | – | Tags to add without removing existing tags. |
| vertical | string|null | – | – |
| websiteUrl | string|null | – | – |
| xHandle | string|null | – | Optional X/Twitter handle (or null/empty to clear). |
| xProfileUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| xUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| Name | Type | Req | Description |
|---|---|---|---|
| company | object | yes | – |
No examples provided.
competitor_get Get Competitor Profile ~113
Fetch comprehensive details for a competitor profile by profileId, companyId, or domain, including dimensional ratings, threat score/tier/ring/quadrant, and relations (relations pending profile-scoped RPC).
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | Underlying company UUID. |
| domain | string | – | Company domain (e.g. acme.com). |
| includeRelations | boolean | – | Whether to load active relationships (pending profile-scoped RPC in outcomet-app). |
| profileId | string | – | Competitor profile UUID. |
| Name | Type | Req | Description |
|---|---|---|---|
| competitor | – | yes | – |
| meta | object | yes | – |
No examples provided.
competitor_mutate Mutate Competitor ~696
Execute competitor mutations: upsert_profile, create_assessment, upsert_relation, upsert_risk, add_source, set_status, or create_rubric_version (admin only).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Mutation operation to execute. |
| againstUs | object | – | Strategic comparison points against own product. |
| archetypeKey | string | – | Risk archetype key. |
| cadenceByTier | object | – | – |
| cadenceOverrideMonths | integer | – | Custom re-check cadence in months. |
| categoryKey | string | – | Competitor category key (e.g. direct, adjacent, legacy). |
| changeNote | string|null | – | Summary explanation of what changed. |
| companyDomain | string | – | Company domain for matching or creating in Contacts. |
| companyId | string | – | Company UUID if known. |
| companyName | string | – | Company name if companyId is omitted. |
| confidence | string | – | Confidence rating: A (verified), B (mixed), C (inferred). |
| contextCompanyId | – | – | Context employer company UUID if subject is a person. |
| counterMove | string|null | – | Planned response if risk triggers. |
| dimensions | array | – | Rubric dimensions (Admin only). |
| facts | object | – | Structured facts (pricing, funding, stage, etc.). |
| firedAt | – | – | Timestamp when risk fired. |
| firedNote | string|null | – | Explanation of how risk fired. |
| idempotencyKey | string|null | – | Caller-generated UUID or hash for idempotent retries. |
| impact | integer | – | Risk impact rating (1-5). |
| kind | string | – | Source kind: homepage, pricing, interview, review, news, other. |
| likelihood | integer | – | Risk likelihood rating (1-5). |
| note | string|null | – | Relationship context note. |
| profileId | string | – | Competitor profile UUID. Required for assessments, relations, risks, sources, status. |
| quote | string|null | – | Verbatim quote or excerpt. |
| quoteLanguage | string|null | – | Language code of quote (e.g. de, en). |
| ratings | object | – | 6 Outcomet rubric ratings on 0-10 scale (job, buyer, distribution, proof, differentiator, market). |
| rationale | object | – | Justification per changed dimension. |
| relationship | string | – | Relationship type: uses, evaluating, switched_from, lost_to, won_from, champion, etc. |
| ringThresholds | object | – | – |
| riskId | – | – | Existing risk UUID if updating; omitted when creating a new risk. |
| riskStatus | string | – | Risk status. |
| rubricNote | string|null | – | Rubric change note. |
| since | string|null | – | Date when relationship began (YYYY-MM-DD). |
| status | string | – | Competitor tracking status. |
| statusReason | string|null | – | Optional status explanation. |
| subjectId | string | – | Company or Person UUID to link. |
| subjectType | string | – | Linked relation subject type. |
| summaryMd | string|null | – | Markdown profile brief. |
| tierThresholds | object | – | – |
| triggerCondition | string | – | Condition that signals this risk is unfolding. |
| url | string | – | Source URL. |
| uvpSourceUrl | string|null | – | Source URL where UVP was identified. |
| uvpVerbatim | string|null | – | Verbatim positioning statement or headline. |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| meta | object | yes | – |
| result | object | yes | – |
No examples provided.
competitor_search Search Competitors ~292
Search and inspect tracked competitors, landscape snapshots, movement trends, risk registers, and workspace settings. Use the view parameter (list, landscape, risks, movement, settings) to select the desired projection.
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | – | – | Optional point-in-time ISO timestamp for historical state. |
| category | string | – | Optional category key filter. |
| cursor | string | – | Opaque cursor returned by the preceding page. |
| limit | integer | – | Maximum number of items to return. |
| offset | integer | – | Optional non-negative record offset. |
| overdue | boolean | – | If true, filters to competitors where next_check_at <= now(). |
| query | string | – | Optional text search matching company name, domain, or UVP verbatim. |
| ring | string | – | Optional ring filter: ring_1 (direct collision), ring_2 (substitute), ring_3 (ecosystem), ring_4 (distant/latent). |
| since | – | – | Optional ISO timestamp for movement delta comparison. |
| status | string | – | Competitor tracking status filter. Defaults to active. |
| tier | string | – | Optional threat tier filter. |
| until | – | – | Optional ISO timestamp upper bound for movement window. |
| view | string | – | View/aggregation mode: list (compact competitor list), landscape (full matrix with quadrants/scores), risks (portfolio risk register), movement (temporal changes), settings (workspace rubric & anchor… |
| Name | Type | Req | Description |
|---|---|---|---|
| meta | object | yes | – |
| movement | array | – | – |
| page | object | – | – |
| profiles | array | – | – |
| results | array | – | – |
| riskRegister | array | – | – |
| settings | object | – | – |
| total | integer | – | – |
| view | string | yes | – |
No examples provided.
contact_create Create Contact ~375
Creates one tenant-scoped Outcomet contact for the verified MCP caller.
| Name | Type | Req | Description |
|---|---|---|---|
| blueskyHandle | string|null | – | Optional Bluesky handle/DID (or null/empty to clear). |
| blueskyProfileUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| blueskyUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| companyId | – | – | – |
| customFields | object | – | Optional organization-defined custom fields map (snake_case key -> value, or null to clear). Call contact_custom_fields_list to inspect valid keys and types. |
| displayName | string | yes | – |
| icpFitRationale | string|null | – | – |
| icpFitScore | – | – | – |
| icpFitState | string|null | – | – |
| linkedinProfileUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| linkedinUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| notes | string|null | – | – |
| primaryEmail | string|null | – | – |
| profiles | array | – | Optional multi-platform profile entries to upsert or clear. |
| roleCategory | string|null | – | – |
| seniority | string|null | – | – |
| sourceLabel | string | – | Network provenance to append without replacing an existing source. |
| tags | array | – | Tags to add without removing existing tags. |
| title | string|null | – | – |
| xHandle | string|null | – | Optional X/Twitter handle (or null/empty to clear). |
| xProfileUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| xUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| Name | Type | Req | Description |
|---|---|---|---|
| contact | object | yes | – |
No examples provided.
contact_custom_fields_list List Contact Custom Fields ~51
Lists organization-defined custom field definitions for companies and contacts (key, label, fieldType, entityType, options, category).
| Name | Type | Req | Description |
|---|---|---|---|
| entityType | string | – | Optional entity type filter: company or person. |
| Name | Type | Req | Description |
|---|---|---|---|
| definitions | array | yes | – |
No examples provided.
contact_get Get Contact ~37
Fetches one tenant-scoped contact summary with compact network source labels and tags by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| contactId | string | yes | Stable contact UUID. |
| Name | Type | Req | Description |
|---|---|---|---|
| contact | – | yes | – |
No examples provided.
contact_search Search Contacts ~161
Searches tenant-scoped contacts; optional exact network source, tag, or LinkedIn profile filters support import previews.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor returned by the preceding page. |
| icpFitState | string|null | – | Optional ICP fit state filter: unknown, strong_fit, partial_fit, weak_fit, not_fit. |
| limit | integer | – | Maximum contact count. |
| linkedinProfileUrl | string | – | Exact LinkedIn /in/ profile URL; normalized server-side. |
| offset | integer | – | Optional non-negative record offset. |
| query | string | – | Optional name/email/title/company/profile filter. |
| sourceLabel | string | – | Exact network provenance label, e.g. LinkedIn Partner. |
| tag | string | – | Exact contact tag. |
| Name | Type | Req | Description |
|---|---|---|---|
| page | object | yes | – |
| results | array | yes | – |
No examples provided.
contact_update Update Contact ~383
Updates allowlisted fields on one tenant-scoped Outcomet contact.
| Name | Type | Req | Description |
|---|---|---|---|
| blueskyHandle | string|null | – | Optional Bluesky handle/DID (or null/empty to clear). |
| blueskyProfileUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| blueskyUrl | string|null | – | Optional Bluesky profile URL (or null/empty to clear). |
| companyId | – | – | – |
| contactId | string | yes | – |
| customFields | object | – | Optional organization-defined custom fields map (snake_case key -> value, or null to clear). Call contact_custom_fields_list to inspect valid keys and types. |
| displayName | string|null | – | – |
| icpFitRationale | string|null | – | – |
| icpFitScore | – | – | – |
| icpFitState | string|null | – | – |
| linkedinProfileUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| linkedinUrl | string|null | – | Optional LinkedIn profile/company URL (or null/empty to clear). |
| notes | string|null | – | – |
| primaryEmail | string|null | – | – |
| profiles | array | – | Optional multi-platform profile entries to upsert or clear. |
| roleCategory | string|null | – | – |
| seniority | string|null | – | – |
| sourceLabel | string | – | Network provenance to append without replacing an existing source. |
| tags | array | – | Tags to add without removing existing tags. |
| title | string|null | – | – |
| xHandle | string|null | – | Optional X/Twitter handle (or null/empty to clear). |
| xProfileUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| xUrl | string|null | – | Optional X/Twitter profile URL (or null/empty to clear). |
| Name | Type | Req | Description |
|---|---|---|---|
| contact | object | yes | – |
No examples provided.
How do I install the Outcomet MCP server?
Outcomet is a hosted endpoint at https://mcp.outcomet.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.outcomet.app
claude mcp add --transport http app-outcomet-mcp 'https://mcp.outcomet.app/mcp'
What is the Outcomet MCP server?
Outcomet is an MCP server listed in the public MCP registry as app.outcomet/mcp. Read customer feedback, problems and initiatives in Outcomet, and log new feedback from chat. This page covers its hosted endpoint (https://mcp.outcomet.app/mcp).
Is the Outcomet MCP server safe to use?
Outcomet scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Outcomet MCP server expose?
Outcomet exposes 84 tools: server_status_get, capability_update, capability_create, capability_reparent, capability_retire, and 79 more. Their descriptions and schemas cost roughly 10,575 tokens of context every time the server is loaded.
Does the Outcomet MCP server require authentication?
Yes. Outcomet asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Outcomet MCP server still maintained?
Outcomet is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.