com.datahyena/signals
REMOTE · API.DATAHYENA.COM · SCANNED SEP 20
Deduplicated, entity-resolved funding rounds, acquisitions, and exec moves as MCP tools.
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 → Why this is hard to score →
Endpoint Security94
- 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 check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- 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 Usability69
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2308 tokens (~209/item across 11 items; 11 tools + 0 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 Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety88
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 1 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "exec_moves" implies "exec" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 11 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
How do I install the com.datahyena/signals MCP server?
com.datahyena/signals is a hosted endpoint at https://api.datahyena.com/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 · api.datahyena.com
claude mcp add --transport http com-datahyena-signals 'https://api.datahyena.com/mcp'
{
"mcpServers": {
"com-datahyena-signals": {
"url": "https://api.datahyena.com/mcp"
}
}
} {
"servers": {
"com-datahyena-signals": {
"type": "http",
"url": "https://api.datahyena.com/mcp"
}
}
} [mcp_servers.com-datahyena-signals] url = "https://api.datahyena.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-datahyena-signals": {
"type": "remote",
"url": "https://api.datahyena.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-datahyena-signals --url 'https://api.datahyena.com/mcp' --transport streamable-http
mcp_servers:
com-datahyena-signals:
url: "https://api.datahyena.com/mcp" {
"McpServers": {
"com-datahyena-signals": {
"Transport": "http",
"Url": "https://api.datahyena.com/mcp"
}
}
} assistant mcp add com-datahyena-signals -t streamable-http -u 'https://api.datahyena.com/mcp'
{
"mcpServers": {
"com-datahyena-signals": {
"type": "http",
"url": "https://api.datahyena.com/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.
- 14 Sept 26 0
- “funding_events” added an optional parameter “enrichedOnly” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 4 Sept 26 0
- “funding_events” reworded the description of “round” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 28 Aug 26 0
- “investors” added an optional parameter “investsIn” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 27 Aug 26 −1
- Schema quality: 162 → 200 ▼ functional
- “acquisitions” added an optional parameter “countries” cosmetic
- “acquisitions” added an optional parameter “industryGroups” cosmetic
- “acquisitions” added an optional parameter “until” cosmetic
- “companies” added an optional parameter “countries” cosmetic
- “companies” added an optional parameter “employeeCountBuckets” cosmetic
- “companies” added an optional parameter “industryGroups” cosmetic
- “exec_moves” added an optional parameter “countries” cosmetic
- “funding_events” added an optional parameter “countries” cosmetic
- “funding_events” added an optional parameter “employeeBuckets” cosmetic
- “funding_events” added an optional parameter “industryGroups” cosmetic
- “funding_events” added an optional parameter “until” cosmetic
- “investors” added an optional parameter “activeSince” cosmetic
- “investors” added an optional parameter “countries” cosmetic
- “investors” added an optional parameter “hasFirmographics” cosmetic
- “investors” added an optional parameter “minRoundUsd” cosmetic
- “investors” added an optional parameter “minRounds” cosmetic
- “exec_moves” reworded the description of “until” cosmetic
- “companies” dropped the optional parameter “country” cosmetic
- “companies” dropped the optional parameter “employeeCountBucket” cosmetic
- “companies” dropped the optional parameter “industryGroup” cosmetic
- “funding_events” dropped the optional parameter “country” cosmetic
- “funding_events” dropped the optional parameter “industryGroup” cosmetic
- “investors” dropped the optional parameter “country” cosmetic
- 26 Aug 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
- 25 Aug 26 0
- Stability: 0.97 → pass security
- 24 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Aug 26 91
- Tool “remove_from_watchlist” is now declared destructive security
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 20 Sept 2026 · Probed https://api.datahyena.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=datahyena.com | CN=WE1,O=Google Trust Services,C=US | 4 Aug 2026 | 2 Nov 2026 | ECDSA 256 | ECDSA-SHA256 | 394560ce8f1903450ea70991584eccf3 |
| SANs: datahyena.com, *.datahyena.com | ||||||
| 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 api.datahyena.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| datahyena.com. | 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 resource_metadata="https://api.datahyena.com/.well-known/oauth-protected-resource"
Bearer resource_metadata="https://api.datahyena.com/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | no-referrer |
Protected resource metadata
| Document | https://api.datahyena.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://api.datahyena.com/mcp |
| Authorisation server | https://api.datahyena.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.datahyena.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.datahyena.com/mcp | HTTPS enforced | 301 | https://api.datahyena.com/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 →
acquisitions ~420
List acquisition and merger events ordered by announcement date, newest first. Filter by payment type, deal amount range, merger flag, or a company that is the acquirer or target. Costs one credit per returned record.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | Return only events where this company is the acquirer or target. |
| countries | array | – | Headquarters country codes (ISO alpha-2, OR). Pass "unknown" to include companies with no country on file. |
| cursor | string | – | Opaque pagination cursor returned as pagination.nextCursor on the previous page. |
| industryGroups | array | – | Company industry groups (OR). Matched literally against the LinkedIn labels. Pass "unknown" for companies with no industry on file. |
| isMerger | boolean | – | Filter to mergers (true) or acquisitions (false). |
| limit | integer | – | Maximum records to return (1-100). Each returned record costs one credit. |
| maxAmountUsd | integer | – | Maximum deal amount in USD. |
| minAmountUsd | integer | – | Minimum deal amount in USD. |
| naicsCode | string | – | NAICS 2022 code for the target (acquired) company. Matches the code and everything beneath it, so "51" also returns 5132 and 5173. Sector ranges work: "31-33" returns all manufacturing. |
| paymentType | array | – | Payment type filters. Canonical values: cash, stock, mixed, undisclosed. |
| since | string | – | Return records announced on or after this date (YYYY-MM-DD) or ISO-8601 timestamp. |
| until | string | – | Return records announced on or before this date (YYYY-MM-DD, inclusive) or ISO-8601 timestamp. |
| verticals | array | – | Target company sector filters (OR). Canonical values: ai, fintech, saas, devtools, healthcare, climate, robotics, cybersecurity, logistics, commerce, data, crypto, media, education, marketing, teleco… |
No output schema declared.
No examples provided.
add_to_watchlist ~78
Add companies (domain, name, LinkedIn URL, or id) to a watchlist. Returns a per-item result of added, already_present, or unresolved. Free.
| Name | Type | Req | Description |
|---|---|---|---|
| companies | array | yes | Company identifiers: domain, name, LinkedIn URL, or Datahyena id. |
| id | string | yes | Watchlist id. |
No output schema declared.
No examples provided.
companies ~320
Search and filter company records by keyword, exact domain, HQ country, industry group, NAICS code, employee-count bucket, or founded-year range. Costs one credit per returned record.
| Name | Type | Req | Description |
|---|---|---|---|
| countries | array | – | Headquarters country codes (ISO alpha-2, OR). Pass "unknown" to include companies with no country on file. |
| cursor | string | – | Opaque pagination cursor returned as pagination.nextCursor on the previous page. |
| domain | string | – | Exact company domain. |
| employeeCountBuckets | array | – | LinkedIn employee count buckets (OR), e.g. 51-200. Pass "unknown" for no headcount. |
| foundedYearMax | integer | – | Maximum founded year. |
| foundedYearMin | integer | – | Minimum founded year. |
| industryGroups | array | – | Company industry groups (OR). Matched literally against the LinkedIn labels. Pass "unknown" for companies with no industry on file. |
| limit | integer | – | Maximum records to return (1-100). Each returned record costs one credit. |
| naicsCode | string | – | NAICS 2022 code. Matches the code and everything beneath it, so "51" also returns 5132 and 5173. Sector ranges work: "31-33" returns all manufacturing. Pass "unknown" for unclassified companies. |
| search | string | – | Keyword search over name, domain, and description. |
| since | string | – | Return companies created/updated on or after this date (YYYY-MM-DD) or ISO-8601 timestamp. |
No output schema declared.
No examples provided.
company_timeline ~150
Return one company's timeline: firmographics, investors, and a chronological list of funding rounds, acquisitions, and executive moves. Resolve the company by id, domain, name, or LinkedIn URL. Pick event kinds with include (default all). Costs one credit for the company plus one per pulled event; nothing is charged if no company matches.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | – | Company domain, e.g. legora.com. |
| id | string | – | Datahyena company id. |
| include | array | – | Which event kinds to include (default all). Each pulled event costs one credit. |
| linkedinUrl | string | – | Company LinkedIn URL or handle. |
| name | string | – | Company name. |
No output schema declared.
No examples provided.
create_watchlist ~28
Create a named account watchlist. Free.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Watchlist name. |
No output schema declared.
No examples provided.
exec_moves ~303
List executive appointment, promotion, departure, and transition events ordered by announcement date, newest first. Filter by company, person, role seniority, move type, or a time window. Costs one credit per returned record.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | Filter by company id. |
| countries | array | – | Headquarters country codes (ISO alpha-2, OR). Pass "unknown" to include companies with no country on file. |
| cursor | string | – | Opaque pagination cursor returned as pagination.nextCursor on the previous page. |
| limit | integer | – | Maximum records to return (1-100). Each returned record costs one credit. |
| moveType | array | – | Move type filters. Canonical values: appointment, promotion, departure, transition. |
| naicsCode | string | – | NAICS 2022 code for the company. Matches the code and everything beneath it, so "51" also returns 5132 and 5173. Sector ranges work: "31-33" returns all manufacturing. |
| personId | string | – | Filter by person id. |
| roleSeniority | array | – | Role seniority filters. Canonical values: c_level, vp_level, founder. |
| since | string | – | Return records announced on or after this date (YYYY-MM-DD) or ISO-8601 timestamp. |
| until | string | – | Return records announced on or before this date (YYYY-MM-DD, inclusive) or ISO-8601 timestamp. |
No output schema declared.
No examples provided.
funding_events ~560
List funding events ordered by announcement date, newest first. Filter by round, amount range, company HQ country, industry group, or a specific company id. Costs one credit per returned record.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | Return only events for this entity-resolved company id. |
| countries | array | – | Headquarters country codes (ISO alpha-2, OR). Pass "unknown" to include companies with no country on file. |
| cursor | string | – | Opaque pagination cursor returned as pagination.nextCursor on the previous page. |
| employeeBuckets | array | – | Company employee-count buckets (OR). Canonical values: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+. |
| enrichedOnly | boolean | – | Return only rounds whose company resolved, so every result carries a domain, industry and country rather than a bare name. Leave it off for maximum coverage: some markets are reported nowhere else, a… |
| industryGroups | array | – | Company industry groups (OR). Matched literally against the LinkedIn labels. Pass "unknown" for companies with no industry on file. |
| limit | integer | – | Maximum records to return (1-100). Each returned record costs one credit. |
| maxAmountUsd | integer | – | Maximum funding amount in USD. |
| minAmountUsd | integer | – | Minimum funding amount in USD. |
| naicsCode | string | – | NAICS 2022 code for the company. Matches the code and everything beneath it, so "51" also returns 5132 and 5173. Sector ranges work: "31-33" returns all manufacturing. |
| round | array | – | Funding round filters. Canonical values: pre-seed, seed, angel, series-a, series-b, series-c, series-d, series-e, series-f, series-g, series-h, series-i, growth, private-equity, extension, bridge, co… |
| since | string | – | Return records announced on or after this date (YYYY-MM-DD) or ISO-8601 timestamp. |
| until | string | – | Return records announced on or before this date (YYYY-MM-DD, inclusive) or ISO-8601 timestamp. |
| verticals | array | – | High-level sector filters (OR). Canonical values: ai, fintech, saas, devtools, healthcare, climate, robotics, cybersecurity, logistics, commerce, data, crypto, media, education, marketing, telecom, r… |
No output schema declared.
No examples provided.
get_watchlist ~31
Return one watchlist with its resolved company members. Free.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Watchlist id. |
No output schema declared.
No examples provided.
investors ~344
Search and filter investor records by keyword, type, HQ country, or exact domain. Costs one credit per returned record.
| Name | Type | Req | Description |
|---|---|---|---|
| activeSince | string | – | Only investors whose most recent round was announced on or after this date (YYYY-MM-DD). |
| countries | array | – | Headquarters country codes (ISO alpha-2, OR). Pass "unknown" to include companies with no country on file. |
| cursor | string | – | Opaque pagination cursor returned as pagination.nextCursor on the previous page. |
| domain | string | – | Exact investor domain. |
| hasFirmographics | boolean | – | Only investors whose domain and type we have resolved. |
| investsIn | array | – | Only investors that have funded companies headquartered in these countries (OR), e.g. ["US"]. Filters on where an investor deploys rather than where it is registered, and is far better covered than H… |
| limit | integer | – | Maximum records to return (1-100). Each returned record costs one credit. |
| minRoundUsd | integer | – | Only investors that have participated in at least one round at or above this amount, in whole USD. Filters on behaviour rather than on a type label, which is sparse. |
| minRounds | integer | – | Only investors that have participated in at least this many rounds. |
| search | string | – | Keyword search over investor name and domain. |
| since | string | – | Return investors created/updated on or after this date (YYYY-MM-DD) or ISO-8601 timestamp. |
| type | array | – | Investor type filters. Canonical values: vc, angel, cvc, pe, growth, accelerator, family_office, syndicate, unknown. |
No output schema declared.
No examples provided.
list_watchlists ~22
List the workspace's account watchlists with member counts. Free.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
remove_from_watchlist ~52
Remove companies from a watchlist. Free.
| Name | Type | Req | Description |
|---|---|---|---|
| companies | array | yes | Company identifiers: domain, name, LinkedIn URL, or Datahyena id. |
| id | string | yes | Watchlist id. |
No output schema declared.
No examples provided.
What is the com.datahyena/signals MCP server?
com.datahyena/signals is an MCP server listed in the public MCP registry as com.datahyena/signals. Deduplicated, entity-resolved funding rounds, acquisitions, and exec moves as MCP tools. This page covers its hosted endpoint (https://api.datahyena.com/mcp).
Is the com.datahyena/signals MCP server safe to use?
com.datahyena/signals scores 91 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 com.datahyena/signals MCP server expose?
com.datahyena/signals exposes 11 tools: funding_events, acquisitions, exec_moves, companies, investors, and 6 more. Their descriptions and schemas cost roughly 2,308 tokens of context every time the server is loaded.
Does the com.datahyena/signals MCP server require authentication?
Yes. com.datahyena/signals 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 com.datahyena/signals MCP server still maintained?
com.datahyena/signals is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.