@marknest/mcp-server
v0.2.0
Published
MCP stdio server for the MarkNest public API.
Downloads
171
Readme
MarkNest MCP Server
Stdio MCP server for connecting AI assistants to the MarkNest public V1 API.
Current coordinated release: 0.2.0.
This package intentionally uses only documented public endpoints under /api/v1. It does not call internal app endpoints for writes.
Tools
marknest_list_documentsmarknest_get_documentmarknest_create_documentmarknest_save_summarymarknest_update_documentmarknest_delete_documentmarknest_list_document_sharesmarknest_get_document_sharemarknest_get_document_share_for_documentmarknest_create_document_sharemarknest_update_document_sharemarknest_delete_document_sharemarknest_list_document_versionsmarknest_get_document_versionmarknest_list_foldersmarknest_get_foldermarknest_create_foldermarknest_update_foldermarknest_delete_foldermarknest_list_folder_documentsmarknest_list_tagsmarknest_create_tagmarknest_update_tagmarknest_merge_tagmarknest_delete_tagmarknest_list_tag_documentsmarknest_list_filesmarknest_get_filemarknest_download_filemarknest_upload_filemarknest_update_filemarknest_delete_filemarknest_search_chunks— semantic search across document chunks (RAG retrieval; requiresrag:read)marknest_get_chunk— fetch one full chunk by ID (requiresrag:read)
Document Listing
marknest_list_documents returns document summaries by default. Summary rows omit content and rendered_html to match the public V1 API list behavior and keep MCP responses small.
Use these options when needed:
include_content: trueappendsinclude=contentand returnscontentplusrendered_htmlin list rows.full_text_search: trueappendssearch_scope=full_text; without it,searchmatches titles only.pageandper_pagecontrol pagination.
Prefer marknest_get_document when the client needs one full document body.
Configuration
Set these environment variables in your MCP client config:
MARKNEST_BASE_URL=https://api.marknest.net
MARKNEST_API_KEY=mk_your_public_api_keyCreate the API key from MarkNest dashboard Settings -> API Keys. Grant the abilities needed by the tools you want the client to use:
documents:readdocuments:writefolders:readfolders:writetags:readtags:writefiles:readfiles:writerag:read— required bymarknest_search_chunksandmarknest_get_chunkshares:read,shares:write— required by document-share tools
Safety-sensitive tools
marknest_merge_tagis irreversible and requires explicit source and target tag IDs.- Share creation or access-policy changes may expose content. The caller must explicitly identify the document and access policy.
marknest_download_filerequires an explicitoutput_path; it refuses to overwrite an existing file unlessoverwrite: trueis supplied. Usedisposition: inlineto call the inline endpoint.
Semantic Search (RAG)
marknest_search_chunks runs hybrid vector + keyword retrieval over the
user's knowledge base and returns chunk excerpts with heading_path
breadcrumbs and document slugs for citation. marknest_get_chunk fetches
the full chunk text when the excerpt is not enough. The API key must have
the rag:read ability; both tools call POST /api/v1/search/semantic and
GET /api/v1/documents/{document_id}/chunks/{chunk_id}.
These tools let an AI assistant (Claude Desktop, ChatGPT, etc.) answer questions from a user's MarkNest knowledge base without MarkNest itself hosting an LLM — the assistant receives the chunks and constructs the answer.
Run
Via npx (no local checkout needed):
npx @marknest/[email protected]Or from this package:
pnpm --filter @marknest/mcp-server startExample MCP client entry:
{
"mcpServers": {
"marknest": {
"command": "npx",
"args": ["-y", "@marknest/[email protected]"],
"env": {
"MARKNEST_BASE_URL": "https://api.marknest.net",
"MARKNEST_API_KEY": "mk_your_public_api_key"
}
}
}
}MARKNEST_BASE_URL defaults to https://api.marknest.net and can be omitted unless you target a different deployment.
Smoke Test
pnpm --filter @marknest/mcp-server smoke