diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 66bf9b8..8c1b998 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -66,7 +66,7 @@ export default withMermaid( domain: "https://docs.tailor.tech", title: "Tailor Platform Documentation", description: - "Tailor is a headless ERP platform. These docs cover the SDK, AppShell UI framework, platform services (TailorDB, Resolver, StateFlow, Executor, Auth), and administration.", + "Tailor is a headless ERP platform. These docs cover the SDK, AppShell UI framework, platform services (TailorDB, Resolver, StateFlow, Executor, Auth), and administration. AI assistants can search and read these docs through the Tailor MCP server at https://mcp.tailor.tech/ (Streamable HTTP, no authentication; tools: search_knowledge, list_knowledge, fetch_knowledge). See https://docs.tailor.tech/guides/integration/mcp for setup.", injectLLMHint: false, }), ], diff --git a/.vitepress/config/constants.ts b/.vitepress/config/constants.ts index 43f66fb..a282d14 100644 --- a/.vitepress/config/constants.ts +++ b/.vitepress/config/constants.ts @@ -144,4 +144,5 @@ export const acronyms: Record = { csv: "CSV", scim: "SCIM", spa: "SPA", + mcp: "MCP", }; diff --git a/.vitepress/theme/components/McpInstallButtons.vue b/.vitepress/theme/components/McpInstallButtons.vue new file mode 100644 index 0000000..aec9355 --- /dev/null +++ b/.vitepress/theme/components/McpInstallButtons.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts index 9121911..5fa63c2 100644 --- a/.vitepress/theme/index.ts +++ b/.vitepress/theme/index.ts @@ -6,6 +6,7 @@ import GitHubIcon from "./components/icons/GitHubIcon.vue"; import Tag from "./components/Tag.vue"; import DeprecatedTag from "./components/DeprecatedTag.vue"; import PreviewTag from "./components/PreviewTag.vue"; +import McpInstallButtons from "./components/McpInstallButtons.vue"; // Tailor brand theme styles (order matters!) import "./styles/vars.css"; // Brand colors & CSS variables (must be first) @@ -32,6 +33,7 @@ const theme: Theme = { app.component("Tag", Tag); app.component("DeprecatedTag", DeprecatedTag); app.component("PreviewTag", PreviewTag); + app.component("McpInstallButtons", McpInstallButtons); }, setup() { const { page } = useData(); diff --git a/.vitepress/theme/styles/vars.css b/.vitepress/theme/styles/vars.css index 071cab1..120b0d6 100644 --- a/.vitepress/theme/styles/vars.css +++ b/.vitepress/theme/styles/vars.css @@ -9,7 +9,12 @@ --vp-c-brand-1: #535ae8; /* tailorBlue - primary brand color */ --vp-c-brand-2: #7981e2; /* tailorMid - secondary */ --vp-c-brand-3: #c6ccf4; /* tailorLight - accent */ - --vp-c-brand-soft: #535ae8; + --vp-c-brand-soft: rgba( + 83, + 90, + 232, + 0.14 + ); /* tip/note background; must stay translucent so brand-colored links remain readable */ /* Text colors */ --vp-c-text-1: #21245c; /* tailorBlack - headings & primary text */ @@ -41,7 +46,7 @@ --vp-c-brand-1: #7981e2; /* tailorMid for dark mode */ --vp-c-brand-2: #9891ff; /* lighter purple */ --vp-c-brand-3: #c6ccf4; - --vp-c-brand-soft: #7981e2; + --vp-c-brand-soft: rgba(121, 129, 226, 0.16); /* Text colors */ --vp-c-text-1: #ffffff; diff --git a/docs/guides/integration/claude.md b/docs/guides/integration/claude.md index bb163a7..f14cad0 100644 --- a/docs/guides/integration/claude.md +++ b/docs/guides/integration/claude.md @@ -13,6 +13,10 @@ Tailor Platform exposes a remote MCP server for each application (currently in p By registering your Tailor PF app as a remote MCP server in Claude or Claude Code, you can let them read and write your application data through the same OAuth2-authenticated GraphQL API used by your other clients. +::: tip Looking for the documentation server? +This page is about the per-application server that reads and writes **your data**. The public [Tailor MCP server](/guides/integration/mcp) at `https://mcp.tailor.tech/` gives AI assistants **these docs** instead, needs no authentication, and works alongside the per-app server. +::: + ## Prerequisites - A deployed Tailor PF application reachable at `https://{YOUR_APP_SUBDOMAIN}.erp.dev` diff --git a/docs/guides/integration/mcp.md b/docs/guides/integration/mcp.md new file mode 100644 index 0000000..a12a6fa --- /dev/null +++ b/docs/guides/integration/mcp.md @@ -0,0 +1,143 @@ +--- +doc_type: guide +--- + +# Give AI Assistants the Tailor Platform Docs with MCP + +## Overview + +Tailor runs a public [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server at `https://mcp.tailor.tech/`. Connect it to Claude, ChatGPT, Claude Code, Cursor, VS Code, Codex, or any other MCP client, and the assistant can search and read this documentation while it helps you build on Tailor Platform. + + + +The server is read-only, needs no account or token, and only serves the content of `docs.tailor.tech`. It never sees your application data. To let an assistant query or change data in one of your applications, use the per-application server described in [Integrate Claude and Claude Code with Tailor Platform](/guides/integration/claude). The two work side by side. + +## Connect a client + +Every client below needs the same two values: + +| Setting | Value | +| --------- | -------------------------- | +| URL | `https://mcp.tailor.tech/` | +| Transport | Streamable HTTP | +| Auth | None | + +The examples name the server `tailor-mcp`. Pick any name you like. + +### Claude + +Search for **Tailor** in the connectors directory and add it. On Team and Enterprise plans an Owner enables it under **Organization settings > Connectors**. On Pro and Max plans open **Customize > Connectors**. + +If the directory is not available to you, choose **Add custom connector** and enter `https://mcp.tailor.tech/` as the remote MCP server URL. Leave the OAuth fields empty. + +### ChatGPT + +Open **Settings > Apps**, search the directory for **Tailor**, and add it. ChatGPT then calls the server whenever a conversation touches Tailor Platform. + +On Business, Enterprise, and Edu workspaces an admin enables it first under **Workspace settings > Apps > Directory**. Members then add it from their own **Settings > Apps**. + +### Claude Code + +Add it for your user: + +```bash +claude mcp add --transport http tailor-mcp https://mcp.tailor.tech/ +``` + +Or add it to the project so everyone who clones the repository gets it. This writes `.mcp.json` at the project root: + +```bash +claude mcp add --transport http --scope project tailor-mcp https://mcp.tailor.tech/ +``` + +```json +{ + "mcpServers": { + "tailor-mcp": { + "type": "http", + "url": "https://mcp.tailor.tech/" + } + } +} +``` + +### Cursor + +Click **Add to Cursor** above, or create `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` for all projects): + +```json +{ + "mcpServers": { + "tailor-mcp": { + "url": "https://mcp.tailor.tech/" + } + } +} +``` + +### VS Code + +Click **Add to VS Code** above, or create `.vscode/mcp.json` in your project: + +```json +{ + "servers": { + "tailor-mcp": { + "type": "http", + "url": "https://mcp.tailor.tech/" + } + } +} +``` + +### Codex + +```bash +codex mcp add tailor-mcp --url https://mcp.tailor.tech/ +``` + +This is the same as adding the following to `~/.codex/config.toml`: + +```toml +[mcp_servers.tailor-mcp] +url = "https://mcp.tailor.tech/" +``` + +### Other clients + +Any client that supports remote MCP servers over Streamable HTTP can connect with the URL alone. No headers are required. + +## What the assistant can do + +The server exposes three tools. Assistants pick them on their own; you do not have to name them. + +| Tool | What it does | +| ------------------ | -------------------------------------------------------------------------------------------------------------- | +| `search_knowledge` | Full-text search over the documentation. Returns matching pages with an excerpt and an `id`. | +| `list_knowledge` | The table of contents: every page with its `id`, title, section, and summary. | +| `fetch_knowledge` | The Markdown of one page by `id`. Long pages come back as an outline first; pass a `section` to read one part. | + +Every result starts with the page URL so the assistant can cite it. + +Prompts that work well once the server is connected: + +- "How do I define a TailorDB type with a relationship to another type?" +- "What are the redirect URI requirements for a public OAuth2 client in Tailor Auth?" +- "Show me how AppShell file-based routing maps directories to pages." +- "Compare Executor triggers and StateFlow for reacting to record changes." + +## Tell your coding agent to use it + +Coding agents follow the instructions in your project. Add a line such as the following to `AGENTS.md` or `CLAUDE.md` so the agent reaches for the docs instead of guessing: + +```markdown +For Tailor Platform questions (SDK, TailorDB, AppShell, Auth, Executor, StateFlow), +use the `tailor-mcp` MCP tools before answering. If they are not available, ask the +user to run `claude mcp add --transport http tailor-mcp https://mcp.tailor.tech/`. +``` + +## Notes + +- The content is the same as the [Markdown export](https://docs.tailor.tech/llms.txt) of this site and updates when the docs do. +- The server is hosted in `asia-northeast1` and rate limited. It is meant for interactive assistants, not for bulk export; use the Markdown export for that. +- Tool names are stable, so you can refer to them in agent instructions. diff --git a/docs/guides/integration/overview.md b/docs/guides/integration/overview.md index 033ad83..ee26dc6 100644 --- a/docs/guides/integration/overview.md +++ b/docs/guides/integration/overview.md @@ -12,7 +12,7 @@ This automated synchronization eliminates manual data entry and reduces errors, ## What you'll learn -In this guide, you'll learn how to integrate Tailor Platform with Shopify, QuickBooks, ShipStation, Loop, Claude, and Claude Code. +In this guide, you'll learn how to integrate Tailor Platform with Shopify, QuickBooks, ShipStation, Loop, and AI assistants such as Claude, ChatGPT, Claude Code, Cursor, and Codex. - [Shopify using third-party integration tools](/guides/integration/pipedream-shopify) like [Zapier](https://zapier.com/) or [Pipedream](https://pipedream.com/) - [Shopify through direct integration](/guides/integration/shopify) using triggers @@ -20,3 +20,4 @@ In this guide, you'll learn how to integrate Tailor Platform with Shopify, Quick - [ShipStation](/guides/integration/shipstation) - [Loop](/guides/integration/loopreturns) - [Claude and Claude Code](/guides/integration/claude) via a remote MCP server +- [AI assistants and coding agents](/guides/integration/mcp) via the Tailor MCP server, which gives them these docs diff --git a/docs/index.md b/docs/index.md index f452d8f..3b393d2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -60,7 +60,7 @@ Get a workspace running and your first schema deployed. ## Build with Tailor -The two toolkits you'll use to build every app: define your backend, then build its frontend. +The toolkits you'll use to build every app: define your backend, build its frontend, and let your AI assistant read these docs.
@@ -69,6 +69,9 @@ The two toolkits you'll use to build every app: define your backend, then build Ready-made UI components for your application's frontend. + + Give Claude, ChatGPT, Cursor, and Codex these docs through the Tailor MCP server. +
diff --git a/docs/public/.well-known/ai-catalog.json b/docs/public/.well-known/ai-catalog.json new file mode 100644 index 0000000..e016754 --- /dev/null +++ b/docs/public/.well-known/ai-catalog.json @@ -0,0 +1,10 @@ +{ + "specVersion": "1.0", + "entries": [ + { + "identifier": "urn:air:tailor.tech:mcp:mcp", + "type": "application/mcp-server-card+json", + "url": "https://mcp.tailor.tech/server-card" + } + ] +} diff --git a/schema.yml b/schema.yml index be581a3..c80bd67 100644 --- a/schema.yml +++ b/schema.yml @@ -42,6 +42,13 @@ links: - www.npmjs.com - sonner.emilkowal.ski - tailortech.statuspage.io + - claude.ai + - claude.com + - modelcontextprotocol.io + - cursor.com + - code.visualstudio.com + - vscode.dev + - learn.chatgpt.com blocked_domains: [] # block links to these domains # Heading validation rules