MCP Integration
Connect your AI assistant to Rynko using the Model Context Protocol (MCP). Manage templates and generate documents through natural conversation.
Supported AI Tools​
| Tool | Config File | Top-Level Key |
|---|---|---|
| Claude Desktop | claude_desktop_config.json | mcpServers |
| Cursor | .cursor/mcp.json | mcpServers |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | mcpServers |
| VS Code | .vscode/mcp.json | servers |
| Zed | ~/.config/zed/settings.json | context_servers |
Features​
- Natural Language Templates - Describe what you need and let AI create templates
- Cross-Workspace Access - Work across all your workspaces with a single token
- Draft-Only Safety - Templates created via MCP are drafts until you publish them
- Document Generation - Preview and generate documents directly from chat
- Data Import - Parse Excel/CSV files and auto-map columns to template variables
- Audit Trail - All MCP operations are logged for security and compliance
Quick Start​
Step 1: Generate a Personal Access Token​
- Log in to your Rynko Dashboard
- Go to Settings → Personal Access Tokens
- Click Create Token
- Enter a label (e.g., "Claude Desktop" or "Cursor")
- Select expiry (max 30 days)
- Click Create and copy the token immediately - it won't be shown again
Keep your PAT secure. Anyone with this token can access your templates across all workspaces.
Step 2: Configure Your AI Tool​
- Claude Desktop
- Cursor
- Windsurf
- VS Code
- Zed
One-Click Install (Recommended)​
- Open Claude Desktop → Settings → Extensions
- Search for "Rynko" and click Install
- Enter your Personal Access Token when prompted
- Done! Start chatting about your documents.
Manual Configuration (Alternative)​
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
You can also open it from Claude Desktop via Settings > Developer > Edit Config.
{
"mcpServers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Replace pat_xxxxxxxxxxxxxxxx with your actual PAT, then restart Claude Desktop.
Add to your Cursor MCP config file:
Project-level: .cursor/mcp.json
Global: ~/.cursor/mcp.json
{
"mcpServers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Replace pat_xxxxxxxxxxxxxxxx with your actual PAT, then restart Cursor.
Add to your Windsurf MCP config file:
macOS / Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
You can also access it from the hammer icon in the Cascade toolbar, or via Settings > Advanced Settings > Cascade > View raw config.
{
"mcpServers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Replace pat_xxxxxxxxxxxxxxxx with your actual PAT, then restart Windsurf.
Do not add MCP servers to settings.json — VS Code will show the error: "MCP servers should not be configured in user settings." Use the dedicated mcp.json file instead.
VS Code has native MCP support via GitHub Copilot's agent mode. You can also use MCP with extensions like Cline or Continue.
Option A: Command Palette (Easiest)​
- Open Command Palette (
Cmd/Ctrl + Shift + P) - Search "MCP: Add Server"
- Select Command (stdio)
- Enter command:
npx - Enter args:
-y @rynko/mcp-server - Give it a name:
rynko - Choose User settings (global) or Workspace settings (project-only)
Then add the environment variable by opening the created mcp.json file and adding the env block.
Option B: Manual Configuration​
Create or edit the mcp.json file at one of these locations:
Workspace-level (project-specific, committable to git): .vscode/mcp.json
User-level (global): Open via Cmd/Ctrl + Shift + P → "MCP: Open User Configuration"
{
"servers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "pat_xxxxxxxxxxxxxxxx"
}
}
}
}
You can use input variables to avoid hardcoding your token:
{
"inputs": [
{
"type": "promptString",
"id": "rynko-token",
"description": "Rynko Personal Access Token",
"password": true
}
],
"servers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "${input:rynko-token}"
}
}
}
}
Replace pat_xxxxxxxxxxxxxxxx with your actual PAT, then reload VS Code (Cmd/Ctrl + Shift + P → "Reload Window").
VS Code uses "servers" as the top-level key, while other editors use "mcpServers". Don't mix them up!
Add to your Zed settings:
Global: ~/.config/zed/settings.json
Project-level: .zed/settings.json in your project root
{
"context_servers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Zed updated its MCP config format in v0.218+. The old nested format ("command": { "path": "npx", ... }) still works but the flat format shown above is now recommended.
Replace pat_xxxxxxxxxxxxxxxx with your actual PAT, then restart Zed.
When opening a project with .zed/settings.json containing MCP configs, Zed will prompt you to trust the worktree before running the server.
Step 3: Verify Connection​
After restarting your AI tool, you should see "Rynko" in your available MCP servers/tools. Try asking:
- "List my templates"
- "What workspaces do I have access to?"
Available Tools​
Once connected, your AI assistant has access to these Rynko tools:
Workspace Tools​
| Tool | Description |
|---|---|
list_workspaces | List all workspaces you have access to |
get_workspace | Get details of a specific workspace |
Template Tools​
| Tool | Description |
|---|---|
list_templates | List templates in a workspace |
get_template | Get template details and schema |
create_draft_template | Create a new draft template |
update_draft_template | Update a draft template |
validate_schema | Validate template schema before creating |
get_schema_reference | Get the template schema documentation |
Data Tools​
| Tool | Description |
|---|---|
parse_data_file | Parse Excel or CSV data to JSON |
map_variables | Auto-map data columns to template variables |
Generation Tools​
| Tool | Description |
|---|---|
preview_template | Generate a preview document |
generate_document | Generate a production document |
get_job_status | Check document generation status |
Asset Tools​
| Tool | Description |
|---|---|
list_assets | List uploaded assets in a workspace |
upload_asset | Upload an image or file for use in templates |
Example Conversations​
Creating a New Template​
You: Create an invoice template for my consulting business with company logo, client details, line items table, and payment terms.
AI: I'll create an invoice template for you. First, let me check your workspaces...
[AI uses list_workspaces, then create_draft_template]
I've created a draft invoice template in your "Production" workspace. It includes:
- Header with logo placeholder and company name
- Client details section
- Line items table with quantity, description, rate, and amount
- Subtotal, tax, and total calculations
- Payment terms footer
Would you like me to generate a preview so you can see how it looks?
Generating Documents from Data​
You: I have a spreadsheet with customer data. Can you generate invoices for each customer?
AI: Of course! Please share the spreadsheet file.
[You attach customers.xlsx]
AI: [Uses parse_data_file] I found 15 customers in your spreadsheet with columns: Name, Email, Amount, Due Date.
Let me map these to your invoice template... [Uses map_variables]
The mapping looks good:
- Name → customer.name (95% confidence)
- Amount → invoice.total (90% confidence)
- Due Date → invoice.dueDate (85% confidence)
Should I generate the invoices?
Editing Existing Templates​
You: Add a discount field to my invoice template
AI: [Uses get_template, then update_draft_template]
I've added a discount field to your invoice. Changes made:
- Added
discountvariable (number, default: 0)- Added discount row between subtotal and total
- Updated total calculation:
subtotal - discount + taxThis is saved as a draft. Preview it in your dashboard before publishing.
Security & Permissions​
Token Security​
- 30-Day Max Expiry: PATs expire automatically to limit exposure
- SHA-256 Hashing: Tokens are stored as hashes, not plain text
- IP Tracking: Last used IP is recorded for security monitoring
- Revocable: Instantly revoke tokens from your dashboard
Draft-Only Operations​
Templates created or modified via MCP are always saved as drafts. This prevents AI from accidentally publishing breaking changes to production templates.
To publish a template:
- Log in to your Rynko dashboard
- Review the draft changes
- Click Publish to make it live
Audit Logging​
All MCP operations are logged in your team's activity feed:
- Template created/updated
- Documents generated
- Data files parsed
- Token used (with IP address)
View activity in Settings → Activity in your dashboard.
Tier Limits​
MCP operations use your existing Rynko quota:
| Feature | Free | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Templates | 5 | 25 | Unlimited | Unlimited |
| Workspaces | 1 | 3 | 10 | Unlimited |
| Document Generation | 50/mo | 500/mo | 2,500/mo | Custom |
| PAT Creation | 1 | 3 | 10 | Unlimited |
Template previews do not consume your document quota.
Environment Variables​
| Variable | Required | Description |
|---|---|---|
RYNKO_USER_TOKEN | Yes | Your Personal Access Token (starts with pat_) |
RYNKO_API_URL | No | Custom API URL (default: https://api.rynko.dev/api) |
Troubleshooting​
"Invalid token" Error​
- Verify the token starts with
pat_ - Check if the token has expired
- Generate a new token from your dashboard
"Workspace not found" Error​
- Ensure you have access to the workspace
- Your role must be EDITOR or ADMIN to create/modify templates
AI Tool Not Connecting​
- Check your config file path and JSON syntax
- Ensure
npxis available in your PATH - Restart your AI tool completely
- Check the AI tool's logs for errors
Templates Not Appearing​
- Templates must be in a workspace you have access to
- Check if you're looking at the right workspace
- Refresh by asking the AI to list templates again
NPM Package​
The MCP server is available as an npm package:
npm install -g @rynko/mcp-server
Or run directly with npx:
RYNKO_USER_TOKEN=pat_xxx npx @rynko/mcp-server
Package: @rynko/mcp-server
Source: GitHub
Privacy & Data​
- Local Processing: AI tools run locally on your machine
- API Calls: Only MCP tool calls go to Rynko servers
- No Training: Your templates and data are not used for AI training
- Data Retention: Documents follow your team's retention policy
Support​
- Documentation: docs.rynko.dev
- Email: support@rynko.dev
- MCP Protocol: modelcontextprotocol.io
Related: AI Toolkit | Personal Access Tokens | Templates