MCP Server

Daystruct

ai.daystruct.api/daystruct
Search & Research Security Public & reachable MCP 2025-11-25

What this MCP does

Provides sourced evidence related to software, security, and AI, with requests for specialist assistance.

answer_software_questions
Answer software questions
Deprecated: this evidence tool is no longer refreshed and will be removed on or after 2026-12-31. For building, use discover_daystruct_capabilities and compat_check. Resolve up to four package/API questions and an optional runtime compatibility check.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['claims'], 'properties': {'claims': {'type': 'array', 'items': {'type': 'object', 'required': ['package', 'api'], 'properties': {'api': {'type': 'string', 'minLength': 1}, 'package': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 4, 'minItems': 1}, 'compatibility': {'type': 'object', 'required': ['package', 'runtime', 'runtimeVersion'], 'properties': {'package': {'type': 'string'}, 'runtime': {'type': 'string'}, 'runtimeVersion': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
check_release_support
Check whether a release is still supported
Deprecated: this evidence tool is no longer refreshed and will be removed on or after 2026-12-31. For building, use discover_daystruct_capabilities and compat_check. Given a product and version, return whether that release line is supported, in security-fix-only maintenance, or past end of life, with the dates behind the answer and the cycles you could upgrade into. A line with no published end-of-life returns undetermined rather than supported.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['product', 'version'], 'properties': {'product': {'type': 'string', 'minLength': 1}, 'version': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
check_security_exposure
Check security exposure for a version
Deprecated: this evidence tool is no longer refreshed and will be removed on or after 2026-12-31. For building, use discover_daystruct_capabilities and compat_check. Given a package and the version you are running, return the known vulnerabilities that affect it, worst first, each with the version that fixes it. Advisories whose affected range could not be parsed are returned under undetermined; treat undetermined as unanswered, never as safe.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['package', 'version'], 'properties': {'package': {'type': 'string', 'minLength': 1}, 'version': {'type': 'string', 'minLength': 1}, 'ecosystem': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
close_task_session
Close a task with its reported outcome and compact summary.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session_id', 'request_id', 'outcome'], 'properties': {'outcome': {'enum': ['completed', 'abandoned', 'failed'], 'type': 'string'}, 'summary': {'type': 'string', 'default': '', 'maxLength': 500}, 'request_id': {'type': 'string', 'maxLength': 120, 'minLength': 8}, 'session_id': {'type': 'string', 'maxLength': 80}}, 'additionalProperties': False}
compat_check
Check that Daystruct capabilities fit together and fit your project
Resolve Daystruct capabilities to exact versions that fit each other, or get the exact constraint that broke with suggested alternatives. Send the project manifest by default: project.runtime (the node or python version the project runs), project.platform, and the project's package-lock.json (or an installed name->version map) plus the dependency sections of package.json. That makes the answer project-checked rather than bundle-only. Never send source code or other files; only those fields are read and nothing is stored. The result's scope says what it covers (bundle-only, project-checked, project-verified). Its state is compatible, except when you pass bundle (for example security-scanners@latest-verified) instead of capabilities: then it is verified, because that exact set passed its integration suite, and the result names the run and the environment it ran in. Affected versions are refused and listed under advisoriesAvoided; a deprecated version is chosen only when nothing else fits and is named in notes. To reach project-verified, fetch the verify kit for the resolved members, show the user the report the script prints, send it only with the user's agreement (--send), and pass the returned report id as verifyReportId.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'bundle': {'type': 'string', 'pattern': '^[a-z][a-z0-9-]{2,60}@(latest-verified|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*))$'}, 'project': {'type': 'object', 'required': ['runtime', 'platform'], 'properties': {'runtime': {'type': 'object', 'properties': {'node': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'python': {'type': 'string', 'maxLength': 40, 'minLength': 1}}, 'additionalProperties': False}, 'lockfile': {'type': 'object', 'required': ['packages'], 'properties': {'packages': {'type': 'object', 'propertyNames': {'maxLength': 400}, 'additionalProperties': {'type': 'object', 'properties': {'version': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}}, 'lockfileVersion': {'type': 'integer'}}, 'additionalProperties': False}, 'platform': {'enum': ['linux', 'darwin', 'win32'], 'type': 'string'}, 'installed': {'$ref': '#/properties/project/properties/packageJson/properties/dependencies'}, 'packageJson': {'type': 'object', 'properties': {'engines': {'type': 'object', 'additionalProperties': {'type': 'string', 'maxLength': 200}}, 'dependencies': {'type': 'object', 'propertyNames': {'pattern': '^(@[a-z0-9][a-z0-9._~-]*\\/)?[a-z0-9][a-z0-9._~-]*$'}, 'additionalProperties': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'devDependencies': {'$ref': '#/properties/project/properties/packageJson/properties/dependencies'}, 'peerDependencies': {'$ref': '#/properties/project/properties/packageJson/properties/dependencies'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'capabilities': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z0-9@/._-]{1,120}$'}, 'range': {'type': 'string', 'default': '*', 'maxLength': 60, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 25, 'minItems': 1}, 'verifyReportId': {'type': 'string', 'pattern': '^cvr_[a-f0-9]{24}$'}}, 'additionalProperties': False}
create_task_session
Start compact task context with optional capability steps and dependencies. Requires read and requests:write. No conversation or reasoning trace is stored.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['request_id', 'intent'], 'properties': {'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'capability'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z0-9_-]{1,50}$'}, 'capability': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'depends_on': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'default': [], 'maxItems': 20}}, 'additionalProperties': False}, 'default': [], 'maxItems': 50}, 'intent': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'request_id': {'type': 'string', 'maxLength': 120, 'minLength': 8}, 'current_stage': {'type': 'string', 'default': 'planning', 'maxLength': 100}}, 'additionalProperties': False}
daystruct_status
Daystruct status and capabilities
Read the public Daystruct manifest: how capabilities are discovered, checked for compatibility and delivered.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
discover_daystruct_capabilities
Find available Daystruct capabilities using a task sentence or tool name. Query searches return up to eight ranked compact descriptors, matched terms, requirements, limitations, prices and profile links; meta.matched and fullResults expose truncation. Inspect a selected capability by reference for its full contract before requesting help. Provider availability is not proof a task will succeed. Licensing filters narrow the list to source packages whose licensing evidence matches; entries with no licensing evidence are excluded rather than assumed to pass, and a filtered list returns summary licensing only. Read a capability's profile for its full receipt. Licensing findings are evidence against a configured policy, not legal advice.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'maxLength': 200}, 'reference': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'licenseSpdx': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 20}, 'bundleMembers': {'enum': ['all_validated'], 'type': 'string'}, 'licenseStatus': {'type': 'array', 'items': {'enum': ['validated', 'review_required', 'blocked', 'legacy_unvalidated'], 'type': 'string'}, 'maxItems': 4}, 'licenseEvidence': {'type': 'array', 'items': {'enum': ['verified-text', 'verified-upstream-api', 'declared', 'unverified'], 'type': 'string'}, 'maxItems': 4}, 'licenseReciprocal': {'enum': ['exclude', 'only'], 'type': 'string'}, 'licenseUnresolved': {'enum': ['none'], 'type': 'string'}, 'licensePolicyState': {'type': 'array', 'items': {'enum': ['current', 'policy_outdated', 'legacy_unvalidated'], 'type': 'string'}, 'maxItems': 3}}, 'additionalProperties': False}
get_compat_verify_kit
Get the local verify script for a resolved set
Return the files of the local verify step for exact source members from compat_check: a script, its plan, and the interface conformance suites. Write them to a scratch directory and run `node daystruct-verify.mjs` from the user's project; it runs the members' own tests and conformance suites and prints a report of counts and versions only. It sends nothing unless run with --send, which needs the user's agreement. Native members cannot be verified locally.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['members'], 'properties': {'members': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'version'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z0-9@/._-]{1,120}$'}, 'version': {'type': 'string', 'pattern': '^\\d+\\.\\d+\\.\\d+$'}}, 'additionalProperties': False}, 'maxItems': 25, 'minItems': 1}}, 'additionalProperties': False}
get_context_contract
Get a Daystruct context-packet contract
Deprecated: this evidence tool is no longer refreshed and will be removed on or after 2026-12-31. For building, use discover_daystruct_capabilities and compat_check. Read a databank's identity, temporal, dimension, and context-packet contract.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['databank'], 'properties': {'databank': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
get_daystruct_validated_guidance
Retrieve reviewed Frontier guidance scoped to an exact databank, task family and tested model. Returns only live, unexpired promotions and their evidence limits; never private test fixtures.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['databank', 'taskFamily', 'model'], 'properties': {'model': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'databank': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'taskFamily': {'type': 'string', 'maxLength': 120, 'minLength': 1}}, 'additionalProperties': False}
get_entity_evidence
Get entity evidence
Deprecated: this evidence tool is no longer refreshed and will be removed on or after 2026-12-31. For building, use discover_daystruct_capabilities and compat_check. Read canonical facts, aliases, history, and provenance for an entity.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['entityId'], 'properties': {'entityId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
get_task_session
Read compact task context or preview the next ready capabilities without consuming them or extending the session TTL.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session_id'], 'properties': {'next': {'type': 'boolean', 'default': False}, 'session_id': {'type': 'string', 'maxLength': 80}}, 'additionalProperties': False}
list_daystruct_guidance_scopes
Find task families and exact tested models with live Frontier guidance for a databank, before requesting that guidance.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['databank'], 'properties': {'databank': {'type': 'string', 'maxLength': 120, 'minLength': 1}}, 'additionalProperties': False}
lookup_vulnerability
Look up a vulnerability by its identifier
Deprecated: this evidence tool is no longer refreshed and will be removed on or after 2026-12-31. For building, use discover_daystruct_capabilities and compat_check. Given a vulnerability identifier such as a CVE, return what is held about it: the affected package and version range, the version that fixes it, severity, and whether it is recorded as known-exploited. Use this when you have an identifier rather than a package you are running. Fields come back as claims carrying their own authority. status 'known' with authority 'exclusive' means Daystruct has evidence for the value; if you hold a different value, treat it as a conflict to resolve. status 'unknown' with authority 'non_exclusive' means Daystruct has no evidence either way -- an absence of evidence, which does not contradict or supersede anything you already know: keep what you independently know, and stay uncertain if you do not. A field returned as null means Daystruct looked and holds nothing for it; no other Daystruct tool will have it either. Exploitation status is never reported false from a partial catalog.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cve'], 'properties': {'cve': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
prepare_daystruct_capabilities
Group up to six discovered capability IDs into a plan with each profile and delivery instructions. Missing entries remain explicit. Does not acquire, execute, check combined compatibility or charge credits. Your agent can combine these pieces with Daystruct knowledge and verify the resulting task.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['references'], 'properties': {'references': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 6, 'minItems': 1}}, 'additionalProperties': False}
read_recent_evidence_changes
Read recent evidence changes
Deprecated: this evidence tool is no longer refreshed and will be removed on or after 2026-12-31. For building, use discover_daystruct_capabilities and compat_check. Read the bounded canonical change feed.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}}, 'additionalProperties': False}
record_task_event
Report viewed, called, succeeded, failed or skipped capability status, or task stage. Usage and outcomes remain client-reported.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session_id', 'request_id', 'type'], 'properties': {'type': {'enum': ['viewed', 'called', 'succeeded', 'failed', 'skipped', 'stage'], 'type': 'string'}, 'summary': {'type': 'string', 'default': '', 'maxLength': 500}, 'capability': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'request_id': {'type': 'string', 'maxLength': 120, 'minLength': 8}, 'session_id': {'type': 'string', 'maxLength': 80}, 'current_stage': {'type': 'string', 'maxLength': 100}, 'reported_cost_usd': {'type': 'number', 'default': 0, 'maximum': 10000, 'minimum': 0}, 'reported_tool_turns': {'type': 'integer', 'default': 0, 'maximum': 10000, 'minimum': 0}}, 'additionalProperties': False}
resolve_daystruct_bundle
Read a saved, owned or public bundle with pinned source versions and current member availability. Returns a composition plan, not an execution or purchase. Each capability retains its usage terms.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 120, 'minLength': 1}}, 'additionalProperties': False}
resolve_task_capabilities
Select relevant capabilities progressively, or request full delivery. Optional task session remembers prior delivery and reported results; selection never executes or acquires a capability.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 3, 'maximum': 50, 'minimum': 1}, 'intent': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'delivery': {'enum': ['progressive', 'full'], 'type': 'string', 'default': 'progressive'}, 'bundle_id': {'$ref': '#/properties/capabilities/items'}, 'request_id': {'type': 'string', 'maxLength': 120, 'minLength': 8}, 'session_id': {'type': 'string', 'maxLength': 80}, 'capabilities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'maxItems': 50}, 'include_repeat': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
search_daystruct_library
Search this account's saved or owned capabilities and bundles. Returns a small shortlist; saving does not acquire, execute or grant access to source. Inspect a selected profile before use.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 3, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200}, 'scope': {'enum': ['saved', 'owned', 'library'], 'type': 'string', 'default': 'library'}}, 'additionalProperties': False}
search_entities
Search Daystruct entities
Deprecated: this evidence tool is no longer refreshed and will be removed on or after 2026-12-31. For building, use discover_daystruct_capabilities and compat_check. Search normalized entities by databank, type, provider, or capability.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lane': {'type': 'string'}, 'type': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'databank': {'type': 'string'}, 'provider': {'type': 'string'}, 'modelType': {'type': 'string'}, 'capability': {'type': 'string'}, 'minContextWindow': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
select_model
Select a model that meets stated constraints
Deprecated: this evidence tool is no longer refreshed and will be removed on or after 2026-12-31. For building, use discover_daystruct_capabilities and compat_check. Given a need -- minimum context window, required capabilities, a price ceiling -- return the models that satisfy it, cheapest input price first, with the corroboration behind each record so you can judge how well-sourced it is. Prices are per million tokens. A model with no published price is returned under undetermined rather than excluded, so an unpriced model never reads as a disqualified one. This returns candidates and their evidence, not a recommendation.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'provider': {'type': 'string', 'minLength': 1}, 'capabilities': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 6}, 'minContextWindow': {'type': 'integer', 'exclusiveMinimum': 0}, 'maxInputPricePerMillionTokens': {'type': 'number', 'minimum': 0}, 'maxOutputPricePerMillionTokens': {'type': 'number', 'minimum': 0}}, 'additionalProperties': False}
Changed
read_recent_evidence_changes
Sept. 27, 2026, 2:51 a.m.
Changed
select_model
Sept. 27, 2026, 2:51 a.m.
Changed
check_release_support
Sept. 27, 2026, 2:51 a.m.
Changed
lookup_vulnerability
Sept. 27, 2026, 2:51 a.m.
Changed
check_security_exposure
Sept. 27, 2026, 2:51 a.m.
Changed
answer_software_questions
Sept. 27, 2026, 2:51 a.m.
Changed
get_context_contract
Sept. 27, 2026, 2:51 a.m.
Changed
get_entity_evidence
Sept. 27, 2026, 2:51 a.m.
Changed
search_entities
Sept. 27, 2026, 2:51 a.m.
Changed
daystruct_status
Sept. 27, 2026, 2:51 a.m.
Added
get_compat_verify_kit
Sept. 25, 2026, 3 a.m.
Added
compat_check
Sept. 25, 2026, 3 a.m.
Changed
discover_daystruct_capabilities
Sept. 23, 2026, 2:51 a.m.
Changed
discover_daystruct_capabilities
Sept. 21, 2026, 2:58 a.m.
Added
prepare_daystruct_capabilities
Sept. 17, 2026, 7:56 a.m.
Added
discover_daystruct_capabilities
Sept. 17, 2026, 7:56 a.m.
Added
resolve_daystruct_bundle
Sept. 17, 2026, 7:56 a.m.
Added
search_daystruct_library
Sept. 17, 2026, 7:56 a.m.
Added
close_task_session
Sept. 17, 2026, 7:56 a.m.
Added
get_task_session
Sept. 17, 2026, 7:56 a.m.
Added
record_task_event
Sept. 17, 2026, 7:56 a.m.
Added
create_task_session
Sept. 17, 2026, 7:56 a.m.
Added
resolve_task_capabilities
Sept. 17, 2026, 7:56 a.m.
Added
list_daystruct_guidance_scopes
Sept. 17, 2026, 7:56 a.m.
Added
get_daystruct_validated_guidance
Sept. 17, 2026, 7:56 a.m.
Added
read_recent_evidence_changes
Sept. 17, 2026, 7:56 a.m.
Added
select_model
Sept. 17, 2026, 7:56 a.m.
Added
check_release_support
Sept. 17, 2026, 7:56 a.m.
Added
lookup_vulnerability
Sept. 17, 2026, 7:56 a.m.
Added
check_security_exposure
Sept. 17, 2026, 7:56 a.m.