🧠 MCP Knowledge Graph Architecture Manifest (Final)
0. Purpose
Define a strict, minimal, and general architecture for MCP systems that operate on knowledge graphs.
This architecture separates:
- graph execution
- semantic intelligence (enrichment)
- domain-specific operations
It is deliberately rigid to ensure:
- clarity for agents
- composability of systems
- long-term scalability
1. Core Principles
1.1 Absolute Separation
Each layer has one responsibility:
- execution
- intelligence
- application
These MUST NOT overlap.
1.2 Enrichment is Abstract
Enrichment is NOT:
- geography-specific
- ontology-specific
- domain-specific
Enrichment IS:
the discovery of related entities under defined constraints
1.3 Ontologies are Data
- Ontologies are inputs
- Ontologies are not hardcoded logic
- Ontologies can vary per system
1.4 Everything is a Graph
- entities
- relations
- ontologies
- queries
2. System Architecture
[ Domain-Specific MCPs ]
↓
[ Atlas MCP ]
↓
[ Virtuoso MCP ]
3. Layer Definitions
3.1 Virtuoso MCP
(Virtuoso MCP)
Role
Graph execution layer
Responsibilities
- store RDF triples
- execute SPARQL queries
- provide graph primitives
Capabilities
- traversal by predicate
- node description
- relation enumeration
- path queries
- prefix handling (technical)
- named graph management
MUST NOT
- interpret meaning
- resolve entities
- enrich data
- depend on external sources
Philosophy
“Executes graph operations without understanding them.”
3.2 Atlas MCP
Role
Semantic intelligence layer
Atlas is the only layer allowed to interpret and enrich data.
4. Enrichment (Formal Definition)
Enrichment is defined as:
The controlled expansion of an entity into a set of related entities based on structural, semantic, or constraint-based relationships.
4.1 Enrichment Dimensions
Atlas MUST support enrichment along arbitrary axes:
Structural
- hierarchy (parent, child)
- adjacency
- graph distance
Semantic
Constraint-based
- filtered relations
- query-defined sets
4.2 Examples (All Equivalent Forms of Enrichment)
- “Find parent regions of Kumasi”
- “Find musicians born in 1965 in Ghana”
- “Find entities with same profession as X”
- “Find all siblings in a pedigree graph”
- “Find all servers connected via health routes”
👉 These are NOT different features
👉 They are instances of the same abstraction
4.3 Core Enrichment Operation
expand(entity, constraints, depth) → subgraph
Where:
entity = starting node
constraints = predicates, types, filters
depth = traversal boundary
4.4 Key Rule
Atlas provides the mechanism of enrichment
Domain-specific MCPs define what is relevant
5. Ontology Handling
5.1 Ontology Layers
Atlas operates on three ontology types:
External Ontologies
- Wikidata
- other knowledge graphs
Canonical Ontology (REQUIRED)
Atlas MUST define a minimal internal schema
Purpose:
- normalize external data
- provide stable structure
Domain Ontologies
Defined by domain-specific MCPs:
- facts-mcp
- garden-mcp
- news-mcp
- etc.
5.2 Core Rule
Atlas translates between ontologies but owns none of them
5.3 Ontology Mapping
Atlas MUST:
- ingest ontologies
- map external → canonical
- optionally map canonical → domain
Atlas MUST NOT:
- assume domain semantics
- enforce domain schemas
6. Atlas Responsibilities
6.1 Entity Resolution
- text → entity identifiers
6.2 Graph Acquisition
retrieve data from:
- external knowledge graphs
- internal graph store
6.3 Ontology Mediation
- align different schemas
- normalize representations
6.4 Enrichment Execution
- perform expansion queries
- apply constraints
- return structured subgraphs
6.5 Persistence
- store results via Virtuoso MCP
6.6 Data Layers (MANDATORY)
Atlas MUST maintain:
Raw Layer
- source-aligned data
- full provenance
Canonical Layer
Derived Layer
- enrichment results
- computed relations
Philosophy
“Atlas turns graphs into usable knowledge.”
3.3 Domain-Specific MCPs
Definition
A domain-specific MCP is any MCP that:
- serves a specific purpose
- defines its own ontology
- uses Atlas and/or Virtuoso to operate on graph data
Examples
- Facts MCP
- Garden MCP
- News MCP
Role
Application and decision layer
Responsibilities
- define domain ontology
- define relevance and constraints
- invoke Atlas for enrichment
- store/query via Virtuoso MCP
Capabilities
- tagging
- classification
- domain-specific inference
- state representation
MUST NOT
- resolve entities independently
- perform enrichment logic outside Atlas
- duplicate ontology mapping logic
Key Rule
Domain-specific MCPs define what to ask
Atlas defines how to answer
7. Facts MCP (Clarified)
Role
Domain-specific MCP for authoritative state
Responsibilities
- define “current truth” in its domain
- maintain state using its ontology
- query enriched data via Atlas
Example
:ServerA :isOperational true
Key Rule
“Fact” is a domain concept, not a system concept
8. Prefix Handling
| Layer |
Responsibility |
| Virtuoso MCP |
technical prefix resolution |
| Atlas MCP |
namespace interpretation & mapping |
| Domain-Specific MCPs |
domain-specific prefixes |
9. Data Flow
Input (text / entity / query)
↓
Domain-Specific MCP
↓
Atlas MCP
- resolve
- enrich
- map ontologies
↓
Virtuoso MCP
- execute
- persist
↓
Domain-Specific MCP
- apply domain logic
10. Hard Rules
Rule 1
Virtuoso MCP MUST remain purely operational
Rule 2
Atlas MCP is the ONLY semantic intelligence layer
Rule 3
All enrichment MUST go through Atlas
Rule 4
All ontology mapping MUST go through Atlas
Rule 5
Domain-specific MCPs MUST NOT duplicate enrichment logic
Rule 6
Domain-specific MCPs define relevance, not mechanisms
11. Final Model
Virtuoso MCP → executes graph operations
Atlas MCP → performs semantic expansion
Domain-Specific MCPs → define purpose and meaning
12. Final Statement
Build systems where:
- the graph layer executes
- the semantic layer expands
- the domain-specific layer decides
and no layer crosses its boundary.