1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//! AletheiaDB MCP Server binary.
//!
//! This binary exposes AletheiaDB's bi-temporal graph database capabilities
//! through the Model Context Protocol (MCP), enabling LLMs like Claude to
//! interact with the database.
//!
//! # Usage
//!
//! ```bash
//! cargo run --bin aletheia-mcp --features mcp-server
//! ```
//!
//! The server communicates over stdio using the MCP protocol.
//!
//! # Available Tools
//!
//! ## Node Operations
//! - `get_node`: Get a node by ID
//! - `create_node`: Create a new node with label and properties
//! - `update_node`: Update node properties
//! - `delete_node`: Delete a node
//! - `list_nodes`: List nodes with optional filtering
//! - `count_nodes`: Count nodes
//!
//! ## Edge Operations
//! - `get_edge`: Get an edge by ID
//! - `create_edge`: Create an edge between nodes
//! - `update_edge`: Update edge properties
//! - `delete_edge`: Delete an edge
//! - `list_edges`: List edges with optional filtering
//! - `count_edges`: Count edges
//! - `get_outgoing_edges`: Get outgoing edges from a node
//! - `get_incoming_edges`: Get incoming edges to a node
//!
//! ## Graph Traversal
//! - `traverse`: Traverse the graph from a starting node
//!
//! ## Vector Search
//! - `find_similar`: Find similar nodes by embedding
//! - `enable_vector_index`: Enable vector indexing on a property
//! - `list_vector_indexes`: List enabled vector indexes
//!
//! ## Temporal Queries
//! - `get_node_at_time`: Get node state at a specific time
//! - `get_edge_at_time`: Get edge state at a specific time
//!
//! ## Hybrid Queries
//! - `hybrid_query`: Combined graph + vector + temporal query
use Arc;
use ;
use AletheiaDB;
use AletheiaMcpServer;
async