MCP Tools Reference
Complete reference for all 11 MCP tools exposed by Teidelum (5 read + 6 write).
Read Tools
These tools query and retrieve data without modifying state.
search
Full-text search across all connected sources
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | yes | — | Full-text search query string |
sources | string[] | no | all | Filter results to specific sources (e.g. ["notion", "zulip"]) |
limit | number | no | 10 | Maximum number of results to return |
date_from | string | no | — | Filter results from this date (ISO 8601) |
date_to | string | no | — | Filter results up to this date (ISO 8601) |
Example
{
"query": "JWT token rotation",
"sources": ["notion"],
"limit": 5
}
sql
Run analytical queries over structured data from all sources
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | yes | SQL query to execute against local or remote tables |
Example
SELECT assignee, COUNT(*) as task_count
FROM project_tasks
WHERE status = 'in_progress'
GROUP BY assignee
ORDER BY task_count DESC
describe
List available tables, schemas, and relationships
| Parameter | Type | Required | Description |
|---|---|---|---|
source | string | no | Filter catalog to a specific source (e.g. "notion", "zulip", "kdb") |
When called without a source filter, returns the complete catalog: all tables, their columns and types, and all registered foreign-key relationships.
graph
Traverse relationships between entities (neighbors, paths)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
table | string | yes | — | Starting node table (e.g. "team_members") |
key | string | yes | — | Node identifier value (e.g. "Alice Chen") |
key_col | string | no | "name" | Column to match key against |
operation | string | no | "neighbors" | "neighbors" or "path" |
depth | number | no | 2 | Maximum traversal depth in hops (max: 10) |
direction | string | no | "both" | "forward", "reverse", or "both" |
rel_types | string[] | no | all | Filter to specific relationship types |
to_table | string | path only | — | Target table for path operation |
to_key | string | path only | — | Target key value for path operation |
to_key_col | string | no | key_col | Target key column for path operation |
Neighbors example
{
"table": "team_members",
"key": "Alice Chen",
"operation": "neighbors",
"depth": 2
}
Path example
{
"table": "team_members",
"key": "Alice Chen",
"operation": "path",
"to_table": "incidents",
"to_key": "API Gateway Timeout"
}
sync
Trigger incremental sync for connected sources
| Parameter | Type | Required | Description |
|---|---|---|---|
source | string | no | Sync a specific source, or omit to sync all configured sources |
Write Tools
These tools create, modify, and delete data — tables, rows, documents, and relationships.
create_table
Create a new table with schema and optional initial rows
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Table name (alphanumeric + underscores) |
source | string | yes | Source identifier (e.g. "app", "import") |
columns | array | yes | Column definitions with name and type fields |
rows | array | no | Initial rows to insert |
Example
{
"name": "customers",
"source": "app",
"columns": [
{"name": "id", "type": "int"},
{"name": "name", "type": "varchar"},
{"name": "email", "type": "varchar"}
],
"rows": [
[1, "Alice", "alice@example.com"],
[2, "Bob", "bob@example.com"]
]
}
insert_rows
Insert rows into an existing table
| Parameter | Type | Required | Description |
|---|---|---|---|
table | string | yes | Target table name |
rows | array | yes | Rows to insert (JSON arrays matching table column order) |
Example
{
"table": "customers",
"rows": [[3, "Charlie", "charlie@example.com"]]
}
delete_table
Delete a table and remove it from the catalog
| Parameter | Type | Required | Description |
|---|---|---|---|
table | string | yes | Table name to delete |
add_documents
Index documents for full-text search
| Parameter | Type | Required | Description |
|---|---|---|---|
documents | array | yes | Documents with id, source, title, body fields |
Example
{
"documents": [{
"id": "doc-001",
"source": "notion",
"title": "Auth Migration Plan",
"body": "We are migrating from session-based auth to JWT..."
}]
}
delete_documents
Remove documents from the search index by ID
| Parameter | Type | Required | Description |
|---|---|---|---|
ids | array | yes | Document IDs to remove |
add_relationship
Register a foreign key relationship between two tables
| Parameter | Type | Required | Description |
|---|---|---|---|
from_table | string | yes | Source table name |
from_col | string | yes | Source column name |
to_table | string | yes | Target table name |
to_col | string | yes | Target column name |
relation | string | yes | Relationship label |
Example
{
"from_table": "customers",
"from_col": "id",
"to_table": "orders",
"to_col": "customer_id",
"relation": "has_orders"
}