Render MCP
Connect your AI assistant to Rynko Render using the Model Context Protocol (MCP). Manage templates and generate documents through natural conversation.
Server URL: https://api.rynko.dev/api/mcp-documents
Authentication: Personal Access Token (PAT)
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 |
| Claude Code | CLI | --transport http |
Features
- Natural Language Templates - Describe what you need and let AI create templates
- Cross-Environment Access - Work across all your environments 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 environments.
Step 2: Configure Your AI Tool
- Claude Desktop
- Claude Code
- 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.
Via Connectors (OAuth)
- Open Claude Desktop → Settings → Connectors
- Click Add Custom Connector
- Paste the server URL:
https://api.rynko.dev/api/mcp-documents - OAuth authorization completes automatically — sign in with your Rynko account when prompted
Connectors with OAuth require a Claude Pro, Max, Team, or Enterprise plan.
Via mcp-remote Proxy (PAT)
Claude Desktop does not support custom headers for HTTP transport. Use the mcp-remote proxy to bridge the remote server to stdio:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"rynko": {
"command": "npx",
"args": [
"mcp-remote",
"https://api.rynko.dev/api/mcp-documents",
"--header",
"Authorization:${RYNKO_PAT}"
],
"env": {
"RYNKO_PAT": "Bearer pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Via stdio npm Package (PAT)
{
"mcpServers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "pat_xxxxxxxxxxxxxxxx"
}
}
}
}
claude mcp add --transport http rynko https://api.rynko.dev/api/mcp-documents \
--header "Authorization: Bearer pat_xxxxxxxxxxxxxxxx"
Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"rynko": {
"url": "https://api.rynko.dev/api/mcp-documents",
"headers": {
"Authorization": "Bearer pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Or use the stdio npm package:
{
"mcpServers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"rynko": {
"serverUrl": "https://api.rynko.dev/api/mcp-documents",
"headers": {
"Authorization": "Bearer pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Or use the stdio npm package:
{
"mcpServers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "pat_xxxxxxxxxxxxxxxx"
}
}
}
}
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.
Add to .vscode/mcp.json (workspace) or open via Cmd/Ctrl + Shift + P → "MCP: Open User Configuration" (global):
{
"servers": {
"rynko": {
"type": "http",
"url": "https://api.rynko.dev/api/mcp-documents",
"headers": {
"Authorization": "Bearer pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Use input variables to avoid hardcoding your token:
{
"inputs": [
{
"type": "promptString",
"id": "rynko-token",
"description": "Rynko Personal Access Token",
"password": true
}
],
"servers": {
"rynko": {
"type": "http",
"url": "https://api.rynko.dev/api/mcp-documents",
"headers": {
"Authorization": "Bearer ${input:rynko-token}"
}
}
}
}
VS Code uses "servers" as the top-level key, while other editors use "mcpServers". Don't mix them up!
Add to ~/.config/zed/settings.json (global) or .zed/settings.json (project):
{
"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.
When opening a project with .zed/settings.json containing MCP configs, Zed will prompt you to trust the worktree before running the server.
Replace pat_xxxxxxxxxxxxxxxx with your Personal Access Token, then restart your AI tool.
- Remote (HTTP): No Node.js required, simpler setup, works behind corporate proxies
- Local (stdio via npm): Works offline, slightly lower latency, no network dependency
Step 3: Verify Connection
After restarting your AI tool, you should see "Rynko" in your available MCP servers. Try asking:
- "List my templates"
- "What environments do I have access to?"
Available Tools
Environment Tools
| Tool | Description |
|---|---|
list_environments | List all environments you have access to |
get_environment | Get details of a specific environment |
Template Tools
| Tool | Description |
|---|---|
list_templates | List templates in an environment |
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 an environment |
upload_asset | Upload an image or file for use in templates |
Integration Tools
| Tool | Description |
|---|---|
get_sdk_examples | Get SDK code examples for Node.js, Python, Java, or REST API |
Ask your AI assistant "How do I generate PDFs from my Node.js app?" — it will call get_sdk_examples to return working code with install instructions.
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 environments...
[AI uses list_environments, then create_draft_template]
I've created a draft invoice template in your "Production" environment. 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?
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. 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?
Security & Permissions
- 30-Day Max Expiry: PATs expire automatically to limit exposure
- SHA-256 Hashing: Tokens are stored as hashes, not plain text
- Revocable: Instantly revoke tokens from your dashboard
- Draft-Only: Templates created via MCP are always saved as drafts — AI cannot publish to production
- Audit Logging: All MCP operations are logged in your project's activity feed
Tier Limits
| Feature | Free | Starter | Growth | Scale |
|---|---|---|---|---|
| Templates | Unlimited | Unlimited | Unlimited | Unlimited |
| Environments | 1 | 2 | 5 | Unlimited |
| Document Generation | 50/mo | 600/mo | 4,000/mo | 12,000/mo |
| PAT Creation | 1 | 3 | 10 | Unlimited |
Template previews do not consume your document quota.
Environment Variables (npm package)
| 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 (max 30 days)
- Generate a new token from your dashboard
"Environment not found" Error
- Ensure you have access to the environment
- 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 (for stdio) - Restart your AI tool completely
- Check the AI tool's MCP logs for errors
NPM Package
# Install globally
npm install -g @rynko/mcp-server
# Or run directly
RYNKO_USER_TOKEN=pat_xxx npx @rynko/mcp-server
Package: @rynko/mcp-server
Related: Flow MCP | AI Toolkit | Templates