docs-mcp
Remote MCP server for Tandem docs, install guides, SDKs, workflows, and agent setup help.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (4)
- LOWin refresh_docs_index
- LOWin refresh_doc_page
- LOWin compare_docs_index_refresh
- LOWin compare_doc_page_refresh
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Verfügbarkeit
Alle 10 Minuten geprüft. Anzeige der letzten 100 Stichproben.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"docs-mcp": {
"url": "https://tandem.ac/mcp"
}
}
}Remote-Endpunkte
https://tandem.ac/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (13)
🟢search_docs(query, docs_ref, engine_version, limit, audience)
Search the published Tandem docs index for relevant pages.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The Tandem question, task, or keyword query to search for."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable. Use next, refs/<sha>, or releases/<version> only when explicitly needed."
},
"engine_version": {
"type": "string",
"description": "Optional Tandem engine version hint. If supplied without docs_ref, the MCP still defaults to stable unless a matching versioned docs ref is configured."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Maximum number of matching docs pages to return."
},
"audience": {
"type": "string",
"description": "Optional audience filter such as developer, desktop user, or operator."
}
},
"required": [
"query"
]
}🟢get_doc(path, docs_ref, engine_version)
Fetch and normalize a published Tandem docs page by path or URL.
Eingabe-Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Docs path like /sdk/python/ or a full Tandem docs URL."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
},
"engine_version": {
"type": "string",
"description": "Optional Tandem engine version hint for compatibility checks."
}
},
"required": [
"path"
]
}🟢get_start_path(role, docs_ref)
Recommend the best Tandem docs starting path for a desktop user, server admin, or developer.
Eingabe-Schema
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"desktop",
"server_admin",
"developer"
],
"description": "The user role to optimize the docs starting point for."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
}
},
"required": [
"role"
]
}🟢recommend_next_docs(current_path, docs_ref, goal, limit)
Recommend the next Tandem docs to read after a current page, optionally biased toward a goal.
Eingabe-Schema
{
"type": "object",
"properties": {
"current_path": {
"type": "string",
"description": "Current Tandem docs path the user has already read."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
},
"goal": {
"type": "string",
"description": "Optional goal such as install Tandem, use the Python SDK, or build workflows."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Maximum number of next-doc recommendations to return."
}
},
"required": [
"current_path"
]
}🟢answer_how_to(task, docs_ref, engine_version, audience, limit)
Answer how to install or use Tandem, build workflows, or use the SDKs by synthesizing relevant published docs.
Eingabe-Schema
{
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "The Tandem task or question that needs a docs-grounded answer."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
},
"engine_version": {
"type": "string",
"description": "Optional Tandem engine version hint. Prefer stable docs for installed engines."
},
"audience": {
"type": "string",
"description": "Optional audience hint such as developer, desktop user, or operator."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Maximum number of supporting docs recommendations to include."
}
},
"required": [
"task"
]
}🟢get_tandem_guide(topic, docs_ref)
Return a structured Tandem learning guide for install-engine, python-sdk, typescript-sdk, build-workflows, or headless-deploy.
Eingabe-Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"enum": [
"install-engine",
"python-sdk",
"typescript-sdk",
"build-workflows",
"headless-deploy"
],
"description": "Named Tandem learning guide to return."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
}
},
"required": [
"topic"
]
}⚪warmup_docs_cache(force_refresh, docs_ref)
Refresh the docs index and preload the most important Tandem docs pages into cache.
Eingabe-Schema
{
"type": "object",
"properties": {
"force_refresh": {
"type": "boolean",
"description": "Whether to bypass cache and force fresh upstream fetches first."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
}
}
}🟢get_docs_cache_status
Inspect the current docs cache state for index sources and warmed pages.
Eingabe-Schema
{
"type": "object",
"properties": {}
}⚪refresh_docs_index(force_refresh, docs_ref)
Force-refresh docs indexes and report whether data came from the network, cache, or stale fallback.
Eingabe-Schema
{
"type": "object",
"properties": {
"force_refresh": {
"type": "boolean",
"description": "Whether to bypass cache and force a network refresh attempt."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
}
}
}⚪refresh_doc_page(path, docs_ref, force_refresh)
Force-refresh a docs page and report whether content came from the network, cache, or stale fallback.
Eingabe-Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Docs path like /start-here/ or /sdk/python/ to refresh."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
},
"force_refresh": {
"type": "boolean",
"description": "Whether to bypass cache and force a network refresh attempt."
}
},
"required": [
"path"
]
}⚪invalidate_docs_cache(target, path, docs_ref)
Invalidate docs cache entries for index data, all pages, or a specific page path.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"enum": [
"all",
"index",
"pages",
"page"
],
"description": "Which cache area to invalidate."
},
"path": {
"type": "string",
"description": "Required when target is page; identifies the specific docs path to invalidate."
},
"docs_ref": {
"type": "string",
"description": "Optional docs ref to scope page/index cache invalidation."
}
}
}⚪compare_docs_index_refresh(docs_ref)
Force-refresh the docs indexes and return before/after hashes so content changes can be proven.
Eingabe-Schema
{
"type": "object",
"properties": {
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
}
}
}⚪compare_doc_page_refresh(path, docs_ref)
Force-refresh a docs page and return before/after hashes so page content changes can be proven.
Eingabe-Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Docs path like /start-here/ or /sdk/python/ to compare before and after refresh."
},
"docs_ref": {
"type": "string",
"description": "Docs channel or immutable ref. Defaults to stable."
}
},
"required": [
"path"
]
}Vergleichen
Vergleich mit ähnlichen Servern
Vergleichen Sie diesen Server mit anderen Servern derselben Kategorie.
Versionsverlauf
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Details
- + search_docs
- + get_doc
- + get_start_path
- + recommend_next_docs
- + answer_how_to
- + get_tandem_guide
- + warmup_docs_cache
- + get_docs_cache_status
- + refresh_docs_index
- + refresh_doc_page
- + invalidate_docs_cache
- + compare_docs_index_refresh
- + compare_doc_page_refresh
Community
Nachweis