Skip to content

MCP Tools Reference

The Archcore MCP server exposes 8 tools that AI agents use to interact with your .archcore/ documents.

List documents with optional filters.

Parameters:

NameTypeRequiredDescription
typesstring[]NoFilter by document types (e.g., ["adr", "rule"])
categorystringNoFilter by layer: vision, knowledge, or experience
statusstringNoFilter by status: draft, accepted, or rejected

Returns: Array of documents with path, title, type, layer, and status.

Example response:

[knowledge]
- auth/jwt-strategy.adr.md — "Use JWT for Authentication" (accepted)
- auth/auth-rules.rule.md — "Authentication Rules" (accepted)
- api/rest-guide.guide.md — "REST API Setup Guide" (draft)
[vision]
- roadmap/auth-v2.prd.md — "Auth System Redesign" (draft)

Read a document’s full content with its relations.

Parameters:

NameTypeRequiredDescription
pathstringYesDocument path as returned by list_documents

Returns: Full document content plus outgoing and incoming relations.


Create a new document. Generates from template if no content is provided.

Parameters:

NameTypeRequiredDescription
typestringYesDocument type (e.g., adr, rule, guide)
filenamestringYesSlug for the filename (lowercase, hyphens only)
titlestringNoHuman-readable title
statusstringNoStatus: draft (default), accepted, rejected
contentstringNoMarkdown body. If omitted, generates template
directorystringNoSubdirectory within .archcore/

Returns: Path, type, layer, title, status, and nearby_documents hint (for adding relations).

Example:

Agent calls: create_document({
type: "adr",
filename: "use-postgres",
title: "Use PostgreSQL as Primary Database",
directory: "database"
})
Creates: .archcore/database/use-postgres.adr.md

Modify an existing document’s title, status, or content.

Parameters:

NameTypeRequiredDescription
pathstringYesDocument path
titlestringNoNew title
statusstringNoNew status
contentstringNoNew markdown body

At least one of title, status, or content must be provided.


Permanently delete a document and all its relations.

Parameters:

NameTypeRequiredDescription
pathstringYesDocument path

Returns: Confirmation with relations_removed count.


Create a directed relation between two documents.

Parameters:

NameTypeRequiredDescription
sourcestringYesSource document path
targetstringYesTarget document path
typestringYesRelation type: related, implements, extends, depends_on

Example:

add_relation({
source: "roadmap/auth-v2.plan.md",
target: "roadmap/auth-v2.prd.md",
type: "implements"
})

Remove a directed relation between two documents.

Parameters:

NameTypeRequiredDescription
sourcestringYesSource document path
targetstringYesTarget document path
typestringYesRelation type

List all relations, optionally filtered by document.

Parameters:

NameTypeRequiredDescription
pathstringNoFilter relations involving this document

Returns: All relations (or relations for the specified document) showing source, target, and type.