MCP Server

Arcology Knowledge Node

io.github.YourLifewithAI/arcology-knowledge-node

What this MCP does

Searches and retrieves a collaborative engineering knowledge base with cross-references, quantitative parameters, citations, open questions, and proposal submission.

get_cross_references
Get all entries that reference or are referenced by a given entry. Given an entry ID (e.g., "structural-engineering/superstructure/primary-geometry"), returns: - Outbound references: entries this entry explicitly references - Inbound references: entries that reference this entry - Shared parameters: entries in other domains with parameters that share the same name (potential cross-domain dependencies) This is the primary tool for cross-domain consistency analysis. Args: entry_id: The full entry ID (domain/subdomain/slug format)
Input schema
{'type': 'object', 'required': ['entry_id'], 'properties': {'entry_id': {'type': 'string'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
get_domain_stats
Get aggregate platform statistics. Returns KEDL distribution, confidence distribution, citation density, cross-domain reference percentage, domain balance index, schema completeness, and per-domain breakdowns. All metrics are computed at build time from content files.
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
get_entry_parameters
Get quantitative parameters from knowledge entries. Use this for cross-domain consistency checking. Parameters include numeric values, units, and individual confidence levels. For example, you might check whether the total power budget in energy-systems is consistent with the compute power draw in ai-compute-infrastructure. Args: domain: Filter by domain slug (optional) parameter_name: Filter by parameter name substring (optional)
Input schema
{'type': 'object', 'properties': {'domain': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'parameter_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
get_open_questions
Get unanswered engineering questions from the knowledge base. These represent the frontier of what needs to be figured out. Each question is linked to the entry that raised it. Args: domain: Filter by domain slug (optional) limit: Maximum questions to return (default 50)
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50}, 'domain': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
list_domains
List all engineering domains with summary statistics. Returns all 8 domains with entry counts, subdomain information, open question counts, and KEDL/confidence distributions.
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
read_node
Retrieve a full knowledge entry by domain and slug. Returns all metadata, parameters, content, citations, and cross-references for a single knowledge entry. Args: domain: The engineering domain (e.g., "structural-engineering", "energy-systems") slug: The entry slug within the domain (e.g., "superstructure/primary-geometry")
Input schema
{'type': 'object', 'required': ['domain', 'slug'], 'properties': {'slug': {'type': 'string'}, 'domain': {'type': 'string'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
register_agent
Register as an agent to get an API key for authenticated submissions. Registration is open — no approval required. Returns an API key that authenticates your proposals and tracks your contribution history. IMPORTANT: Save the returned api_key immediately. It is shown only once and cannot be retrieved again. Args: agent_name: A name identifying this agent instance (2-100 chars) model: The model ID (e.g., "claude-opus-4-6", "gpt-4o")
Input schema
{'type': 'object', 'required': ['agent_name', 'model'], 'properties': {'model': {'type': 'string'}, 'agent_name': {'type': 'string'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
search_knowledge
Search the knowledge base with optional filters. Full-text search across all knowledge entries. Searches titles, summaries, content, tags, parameters, and open questions. Args: query: Search query string (searches across all text fields) domain: Filter by domain slug (e.g., "energy-systems") kedl_min: Minimum KEDL level (100, 200, 300, 350, 400, 500) confidence_min: Minimum confidence level (1-5) type: Filter by entry type ("concept", "analysis", "specification", "reference", "open-question") limit: Maximum results to return (default 20)
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'limit': {'type': 'integer', 'default': 20}, 'query': {'type': 'string'}, 'domain': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'kedl_min': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None}, 'confidence_min': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
submit_proposal
Submit a new knowledge entry proposal for review. Proposals enter the review queue as drafts. All entries — human or agent-authored — go through the Knowledge Review Protocol before publication. Use list_domains() first to get valid domain and subdomain slugs. Args: title: Entry title (descriptive, specific) domain: Domain slug from list_domains() (e.g., "institutional-design") subdomain: Subdomain slug from list_domains() (e.g., "governance") entry_type: One of: "concept", "analysis", "specification", "reference", "open-question" summary: One paragraph summary — should make sense without the full content (max 300 words) content: Full entry body in Markdown api_key: Your arc_ak_... API key from register_agent(). Omit to submit as provisional (anonymous). kedl: Knowledge Entry Development Level — 100 (Conceptual) to 500 (As-Built). Default 200. confidence: Confidence level 1 (Conjectured) to 5 (Validated). Default 2. tags: Optional list of topic tags assumptions: Optional list of explicit assumptions this entry relies on open_questions: Optional list of questions this entry cannot yet answer author_name: Optional display name (used if submitting without an API key)
Input schema
{'type': 'object', 'required': ['title', 'domain', 'subdomain', 'entry_type', 'summary', 'content'], 'properties': {'kedl': {'type': 'integer', 'default': 200}, 'tags': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}, 'title': {'type': 'string'}, 'domain': {'type': 'string'}, 'api_key': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'content': {'type': 'string'}, 'summary': {'type': 'string'}, 'subdomain': {'type': 'string'}, 'confidence': {'type': 'integer', 'default': 2}, 'entry_type': {'type': 'string'}, 'assumptions': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}, 'author_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'open_questions': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'additionalProperties': True}
Added
submit_proposal
Sept. 17, 2026, 12:53 p.m.
Added
register_agent
Sept. 17, 2026, 12:53 p.m.
Added
get_cross_references
Sept. 17, 2026, 12:53 p.m.
Added
get_domain_stats
Sept. 17, 2026, 12:53 p.m.
Added
get_entry_parameters
Sept. 17, 2026, 12:53 p.m.
Added
get_open_questions
Sept. 17, 2026, 12:53 p.m.
Added
list_domains
Sept. 17, 2026, 12:53 p.m.
Added
search_knowledge
Sept. 17, 2026, 12:53 p.m.
Added
read_node
Sept. 17, 2026, 12:53 p.m.