Allows an AI client to resolve and query a checked-in snapshot of official Tauri 2 documentation.
Also known as fxckcode/tauri-docs-mcp, tauri-docs-mcp
- Stars
- 1
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.2.0
- Last commit
- Sep 12, 2026
- License
- MIT
What is Tauri Documentation MCP?
Tauri Documentation allows an AI client to resolve and query a checked-in snapshot of official Tauri 2 documentation.
Summary generated from the project's README
About Tauri Documentation MCP server
Developers building applications with Tauri can access official documentation directly through their AI client. This MCP server provides a read-only interface to a checked-in snapshot of the Tauri 2 documentation, ensuring that the information provided to the model is accurate and version-specific. It operates over stdio and does not require an HTTP listener or external API keys, making it a lightweight addition to local development environments.
Users interact with the server using two primary tools: resolve_tauri_docs and query_tauri_docs. The resolver allows for selecting specific versions like tauri@2 or an immutable snapshot ID, while the query tool searches the documentation corpus using up to 16 terms. Because the server relies on a local, pre-ingested corpus rather than live web fetching, it remains deterministic and secure. It is designed for use with clients like Claude Desktop, Cursor, or VS Code via standard configuration.
What you can do with it
- 1Verify Tauri version specificsAsk the AI to identify the exact version and source revision of the documentation snapshot being used.
- 2Retrieve documentation snippetsRequest concise excerpts from the official Tauri 2 guides to help write code.
Written from the project's README. Every use case is checked against a quote from it.
How to install Tauri Documentation MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Tauri Documentation MCP in Claude Code
$ claude mcp add tauri-docs-mcp -- npx -y tauri-docs-mcpInstall Tauri Documentation MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"tauri-docs-mcp": {
"command": "npx",
"args": [
"-y",
"tauri-docs-mcp"
]
}
}
}Install Tauri Documentation MCP in VS Code
.vscode/mcp.json
{
"servers": {
"tauri-docs-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"tauri-docs-mcp"
]
}
}
}Install Tauri Documentation MCP in VS Code CLI
$ code --add-mcp '{"name":"tauri-docs-mcp","type":"stdio","command":"npx","args":["-y","tauri-docs-mcp"]}'Install Tauri Documentation MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"tauri-docs-mcp": {
"command": "npx",
"args": [
"-y",
"tauri-docs-mcp"
]
}
}
}Install Tauri Documentation MCP in Codex
$ codex mcp add tauri-docs-mcp -- npx -y tauri-docs-mcpInstall Tauri Documentation MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.tauri-docs-mcp] command = "npx" args = ["-y", "tauri-docs-mcp"]
Install Tauri Documentation MCP in Gemini CLI
$ gemini mcp add -s user tauri-docs-mcp npx -- -y tauri-docs-mcpInstall Tauri Documentation MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"tauri-docs-mcp": {
"command": "npx",
"args": [
"-y",
"tauri-docs-mcp"
]
}
}
}Automated checks
Ran Nov 15, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablefxckcode/tauri-docs-mcp is public and reachablegithub.com/fxckcode/tauri-docs-mcp ↗Pass
- Package names this repository as its sourcetauri-docs-mcp names fxckcode/tauri-docs-mcp as sourcenpmjs.com/package/tauri-docs-mcp ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for tauri-docs-mcpnpmjs.com/package/tauri-docs-mcp/v/0.2.0#provenance ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-09-12github.com/fxckcode/tauri-docs-mcp ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from tauri-docs-mcpPass
- No critical advisory in the package or its dependencies99 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubtauri-docs-mcp
A read-only Model Context Protocol (MCP) server for resolving and querying a checked-in snapshot of official Tauri 2 documentation.
Requirements
- Node.js 20.19 or newer (supported Node LTS)
- npm 10 or newer
The committed package-lock.json is authoritative. Use npm install for
local development and dependency changes; CI and reproducible installs use
npm ci. Lockfile changes must be committed with dependency changes.
Install and run
Install the published package:
npm install --global tauri-docs-mcp
Or install it in a project and invoke the binary from node_modules/.bin:
npm install tauri-docs-mcp
npx tauri-docs-mcp
Build from a checkout, then run the compiled stdio server:
npm install
npm run build
node dist/src/index.js
Configure an MCP client to launch the installed binary over stdio:
{
"mcpServers": {
"tauri-docs": {
"command": "tauri-docs-mcp"
}
}
}
Portable configurations for generic MCP clients, Claude Desktop, Cursor, and
VS Code are in examples/mcp/. They pin the package version
and use stdio only. Installable agent guidance is in
skills/tauri-docs-mcp/SKILL.md.
The server writes MCP JSON-RPC messages only to stdout. It does not start an
HTTP listener. Diagnostics are disabled by default; opt in with
TAURI_DOCS_MCP_DIAGNOSTICS=1 and they are written to stderr as event names
only (never request arguments, corpus content, secrets, or PII).
Tool contract
The server exposes two stable tools and one backwards-compatible legacy tool.
resolve_tauri_docs
Resolve the default snapshot or an explicit identifier:
{}
{ "identifier": "tauri@2" }
Supported identifiers are tauri, tauri@2, and the immutable snapshot ID
tauri-2@58194ceb69424c4332b2780b196ced3a6fffb32b. Resolution is deterministic
and returns snapshot, source revision, generated-at, version, and entry-count
metadata. Unsupported identifiers return UNSUPPORTED_SNAPSHOT.
query_tauri_docs
Query content from the default or selected snapshot:
{ "query": "capabilities", "snapshot": "tauri@2", "limit": 3 }
query is required and must contain 1–200 non-whitespace characters and at
most 16 whitespace-separated terms. snapshot is optional and accepts the
resolver identifiers. limit is an optional integer from 1–10 (default 5).
Results are bounded, deterministic,
and include title, heading, section, canonical URL, content, corpus snapshot,
source revision, Tauri version, and versionSensitive. Empty matches return
results: [], not an application error. Inputs reject unknown fields.
Both tools are read-only and idempotent. They read only the checked-in corpus; there is no live fetching or arbitrary URL access.
Resource and lifecycle bounds
The shared tool contract enforces a 200-character query, 16 terms, 10 results, 1,200-character snippets, 8 KiB corpus entries, and 32 KiB serialized tool responses. The stdio frame buffer is capped at 64 KiB. EOF, transport errors, SIGINT, and SIGTERM share an idempotent shutdown path with a one-second cleanup bound; in-flight work is allowed to settle or is abandoned at that bound.
search_tauri_docs (compatibility)
Existing clients can continue to call:
{ "query": "capabilities", "limit": 3 }
It remains supported with its existing response shape and limits. New clients
should use resolve_tauri_docs followed by query_tauri_docs.
Application errors are returned with stable discriminated codes such as
INVALID_INPUT, INVALID_QUERY, INVALID_LIMIT, and
UNSUPPORTED_SNAPSHOT; protocol errors remain MCP protocol errors.
Product boundary
This package is intentionally:
- read-only;
- stdio-only;
- limited to its checked-in corpus; and
- constrained to official Tauri 2 sources under
https://v2.tauri.app/.
It never fetches user-controlled URLs, writes files, executes arbitrary code, controls a Tauri runtime, provides hosted HTTP, authenticates users, or emits telemetry. See docs/architecture.md for the module seams.
Development commands
npm install # install from package-lock.json
npm run typecheck # TypeScript validation
npm run build # compile runtime files to dist/
npm test # run the full Vitest suite
npm run lint # ESLint
npm run format # format tracked source and documentation
npm run format:check # verify formatting without writing
npm pack --dry-run # inspect the publish allowlist
npm run package:smoke -- /path/to/tauri-docs-mcp-0.1.0.tgz # test a packed install
The pull-request workflow runs the same commands from a clean checkout. To reproduce its package step locally, create a tarball and pass its path to the smoke test:
mkdir -p .tmp/package
TARBALL=$(npm pack --json --pack-destination .tmp/package | node -e "let s=''; process.stdin.on('data', d => s += d).on('end', () => process.stdout.write(JSON.parse(s)[0].filename))")
npm run package:smoke -- ".tmp/package/$TARBALL"
rm -rf .tmp
See CONTRIBUTING.md for contribution rules and SUPPORT.md for supported use cases. Report vulnerabilities privately as described in SECURITY.md.
Releases and registry
The release workflow runs from a version tag and checks package, immutable corpus metadata, registry metadata, and the pack allowlist before publishing. npm publishing uses provenance/trusted publishing where enabled, then runs a fresh published-package smoke gate. Official MCP Registry publication is a separately protected environment chained after the successful npm job. No release is published from pull requests. See CHANGELOG.md for the release and MCP contract-change process.
Corpus maintenance
The runtime reads only the checked-in generated snapshot under corpus/; it
never fetches documentation URLs. The approved manifest records canonical URLs,
section hierarchy, Tauri version, source revision/freshness metadata, and a
SHA-256 hash for each concise excerpt. The source revision is immutable, so a
future snapshot must use a new tauri-2@<revision> directory.
After an approved source review, regenerate and validate deterministically:
npm run ingest:docs
npm run validate:corpus
validate:corpus fails if the manifest is unsafe or incomplete, if content
hashes drift, or if the generated artifact differs from its manifest. Source
and license attribution is preserved in corpus/NOTICES.md.
Sources
Tauri Documentation MCP questions
How do I add Tauri Documentation MCP to Claude Code?
Run claude mcp add tauri-docs-mcp -- npx -y tauri-docs-mcp in your terminal. Add --scope user to make it available in every project.
How do I add Tauri Documentation MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does the server expose?
The server provides resolve_tauri_docs, query_tauri_docs, and a legacy search_tauri_docs tool.
Does the server fetch live documentation from the internet?
No, the server is read-only and only reads from its checked-in corpus without live fetching or arbitrary URL access.
How can I enable diagnostics?
You can opt into diagnostics by setting the TAURI_DOCS_MCP_DIAGNOSTICS environment variable to 1.