- 7 minutes to read

MCP Tools for the Repository

The Repository group is the largest group of the MCP Endpoint. Its tools read the whole Repository Model (Systems, Services, Contracts, Endpoints, Message Types, Domains, BPMs, and the monitored Resources), search inside documents, and are the only tools that write Articles, Snippets, and Templates. The group is selected by default in the AI Assistant.

  • ✅ 73 tools: 61 read, 8 write, 4 delete
  • ✅ Soft Delete with restore_document, so an AI mistake can be undone
  • ✅ search_content finds where something is documented, with links

The MCP Tool Reference explains the OAuth scopes, the paging rules, and the other groups. The tools that build profile-based Articles are in Documentation Tools.

Understanding the Scopes in This Group

Scope Tools
mcp:repository.read Every read tool on this page
mcp:repository.write create_article, create_snippet, create_template, update_article, update_snippet, update_template, duplicate_article, restore_document
mcp:repository.delete delete_article, delete_snippet, delete_template, delete_document_profile

The delete tools are Soft Deletes: the document goes to the deleted list, and restore_document brings it back, like Restore in the Web Client. Only the Web Client permanently deletes a document (see Two delete models).

Inputs are camelCase, and take and skip follow the common paging rules. A list tool that is filtered by another entity, such as list_services_by_system, also takes take and skip.

Articles, Snippets, and Templates (26)

Knowledge base Articles, Snippets, and Templates are stored the same way and told apart by documentType: 0 Article, 1 Snippet, 2 Template. Tools named after Articles handle all three kinds unless you pass documentType.

Tool Kind What it does Inputs
get_article_by_slug Read One Article, Snippet, or Template by slug (active, not deleted) slug
get_article_by_title Read One Article, Snippet, or Template by exact title (active, not deleted) title
get_article_markdown Read An Article, Snippet, or Template as Markdown slug
get_snippet Read One Snippet by exact title (active, not deleted) title
get_template Read One Template by exact title (active, not deleted) title
list_article_tags Read The Tags used on Articles (active, not deleted) take, skip
list_articles Read Articles, Snippets, and Templates, page by page (active, not deleted) take, skip, documentType
list_articles_by_custom_metadata Read Documents whose Custom Metadata matches a name and a value fragment customMetaDataName, valueContains, take, skip, documentType
list_articles_by_tag Read Documents with one Tag; get the id from list_article_tags tagId, take, skip, documentType
list_snippets Read Snippets, page by page (active, not deleted) take, skip
list_templates Read Templates, page by page (active, not deleted) take, skip
search_articles Read Documents by part of the title (active, not deleted) term, take, skip, documentType
search_snippets Read Snippets by part of the title (active, not deleted) term, take, skip
search_templates Read Templates by part of the title (active, not deleted) term, take, skip
create_article Write Creates an Article, Snippet, or Template request (see below), plus documentType
create_snippet Write Creates a Snippet request
create_template Write Creates a Template request
update_article Write Updates an Article, Snippet, or Template, addressed by slug request (see below)
update_snippet Write Updates a Snippet, addressed by slug; refuses the slug of another kind request
update_template Write Updates a Template, addressed by slug; refuses the slug of another kind request
duplicate_article Write Copies an Article, Snippet, or Template, found by slug, as a clone with a new title slug and the new title
restore_document Write Restores a deleted Article, Snippet, Template, or Document Profile slug
delete_article Delete Soft-deletes an Article slug
delete_snippet Delete Soft-deletes a Snippet slug
delete_template Delete Soft-deletes a Template slug
delete_document_profile Delete Soft-deletes a Document Profile with its part definitions slug

The request Object for Create and Update

Field Create Update
title Required Optional
slug Optional Required: the document to change
newSlug — Optional: renames the slug
content, contentType (0 or 1) Optional Optional
isActive, startDate, endDate Optional Optional; an omitted date keeps its value, and a date can't be cleared over MCP
tagIds, customValueIds Optional: Tags and Custom Metadata values by id, not by name Optional
documentType create_article only update_article only; it must match the stored kind, because a document is never converted

New 7.12 Use search_content when you want to know where something is documented: it searches the text of Articles, Snippets, Templates, and Document Profiles, like Search content in the Web Client (see Content Search).

Tool What it does Inputs
search_content Finds words, a phrase, or a regular expression inside documents, with excerpts and a link to each document query, plus the optional inputs below
Input Default Meaning
query Required The text to find
mode Words Words, Phrase, or Regex; a regular expression is stopped after one second
documentTypes All four Comma-separated: 0 Article, 1 Snippet, 2 Template, 3 Document Profile. Empty means all four, unlike the Web Client, which starts with Articles and Snippets
matchCase, wholeWord false Case-sensitive search; whole words only (letters, digits, and _ are word characters)
searchTitles, searchContent true Search the titles and slugs; search the content
searchMetadata false Search the Tags and the Custom Metadata values
includeIcons, includeImages, includeFiles true Also match inside icon, image, and file references
includeDeleted false Also search deleted documents
take 20 Documents per call, from 1 to 50
skip 0 Documents to skip; paging goes by whole pages of take

The result holds query, mode, total, skip, take, truncated, a note that says when a limit cut the result, and items. Each item is one document:

Field Meaning
articleId, documentType, documentKind, title, slug Which document matched
path The document's reader page, root-relative, for example /Repository/Article/25446. The tool asks the assistant to link each document as [title](path), so the AI Assistant answers with links
changed, isShipped, isProfileBased, isDeleted, tags The document's state and Tags
matchCount, titleMatched How many matches the document has, and whether the title matched
matches At most 5 matches, each with field, fieldName, sectionKey, headingPath, anchor, line, excerpt, and matchedText

The documents come best match first, and the ContentSearchMaxResults System Parameter limits how many one search finds.

Repository Entities (46)

All of these read. The get_*_by_name tools want the exact name, the search_* tools part of a name, and the list_* tools return everything, page by page.

Entity Tools Inputs
Systems (5) get_system_by_name, get_system_with_services (with its Services), explain_system (a deep drill-down), list_systems, search_systems name / take, skip / term, take, skip
Services (6) get_service_by_name, explain_service (a deep drill-down, with its Endpoints and Contracts), list_services, list_services_by_integration, list_services_by_system, search_services name / integrationName or systemName, plus take, skip
Contracts (5) get_contract_by_name, list_contracts, list_contracts_by_service, list_contracts_by_system, search_contracts name / serviceName or systemName, plus take, skip
Endpoints (3) get_end_point_by_name, list_end_points, search_end_points name / take, skip / term, take, skip
Message Types (3) get_message_type_by_name, list_message_types, search_message_types name / take, skip / term, take, skip
Domains (3) get_domain_by_name, list_domains, search_domains name / take, skip / term, take, skip
BPMs (3) get_bpm_by_name, list_bpms, search_bpms (active, not deleted) name / take, skip / term, take, skip
Custom Fields (3) get_custom_field_by_name, list_custom_fields, search_custom_fields name / take, skip / term, take, skip
Custom Metadata (3) get_custom_metadata_by_name, list_custom_metadata, search_custom_metadata (the definitions) name / take, skip / term, take, skip
Resources (5) get_resource_by_name, list_resources, list_resources_by_application, list_resources_by_category, search_resources (monitored Resources) name / applicationName or categoryName, plus take, skip
Applications (4) get_application_by_name, get_application_with_resources (with its monitored Resources), list_applications, search_applications name / take, skip / term, take, skip
Categories (3) get_category_by_name, list_categories, search_categories (the Resource Categories) name / take, skip / term, take, skip

There are no MCP tools that create or change Repository entities such as Systems or Services; use the Web Client or the Web API for that. The Integration tools are in their own group, see Monitoring and Logging Tools.

Next Steps