Rynko MCP server for Claude Desktop - manage templates and generate documents through natural conversation
npm install @rynko/mcp-serverRynko MCP server for Claude Desktop - manage templates and generate documents through natural conversation.
Coming Soon: Install directly from the Claude Desktop Extensions directory.
Or install from the .mcpb bundle:
1. Download rynko-mcp-{version}.mcpb from the releases page
2. In Claude Desktop, go to Settings → Extensions
3. Click Install from file and select the downloaded .mcpb file
4. Enter your Personal Access Token when prompted
5. Done! Start chatting with Claude about your documents.
Install globally:
``bash`
npm install -g @rynko/mcp-server
Or use directly with npx (recommended):
`bash`
npx @rynko/mcp-server
1. Log in to your Rynko Dashboard
2. Go to Settings → Personal Access Tokens
3. Click Create Token
4. Enter a label (e.g., "Claude Desktop")
5. Select expiry (max 30 days)
6. Copy the token - it won't be shown again!
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
`json`
{
"mcpServers": {
"rynko": {
"command": "npx",
"args": ["-y", "@rynko/mcp-server"],
"env": {
"RYNKO_USER_TOKEN": "pat_xxxxxxxxxxxxxxxx"
}
}
}
}
Close and reopen Claude Desktop. You should see "rynko" in your available MCP servers.
| Tool | Description |
|------|-------------|
| list_workspaces | List all workspaces you have access to |get_workspace
| | Get details of a specific workspace |
| 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 |get_schema_reference
| | Get template schema documentation |
| Tool | Description |
|------|-------------|
| parse_data_file | Parse Excel or CSV data to JSON |map_variables
| | Auto-map data columns to template variables |
| Tool | Description |
|------|-------------|
| list_assets | List image assets in your library |upload_asset
| | Upload an image (base64 or URL) to your asset library |
| Tool | Description |
|------|-------------|
| preview_template | Generate a preview document (free, no credits used) |generate_document
| | Generate a production document (uses credits) |get_job_status
| | Check document generation status |
#### generate_document Parameters
| Parameter | Required | Description |
|-----------|----------|-------------|
| workspace_id | Yes | The workspace ID |template_id
| | Yes | The template ID to generate from |variables
| | Yes | Variable values for the document |format
| | No | Output format: pdf (default) or excel |filename
| | No | Custom filename (without extension) |use_draft
| | No | Use draft version instead of published (default: false) |use_credits
| | No | Use premium credits to generate without watermark (default: false) |metadata
| | No | Custom key-value metadata for the document job |
Note on Watermarks: Free tier documents include a watermark. Set use_credits: true to generate watermark-free documents using your purchased premium credits.
Once configured, you can have natural conversations with Claude. Here are detailed examples of how to use each tool:
User Prompt:
> "Show me all the templates in my workspace and generate an invoice for Acme Corp"
Expected Behavior:
1. Claude calls list_workspaces to find your workspaceslist_templates
2. Claude calls with your workspace IDget_template
3. Claude displays available templates
4. Claude calls to get the invoice template's variable schemagenerate_document
5. Claude calls with the template ID and variables:`
json`
{
"workspace_id": "ws_xxx",
"template_id": "invoice-template",
"variables": {
"customerName": "Acme Corp",
"invoiceNumber": "INV-2024-001",
"items": [{"name": "Consulting", "quantity": 10, "price": 150}],
"total": 1500
},
"format": "pdf"
}
6. Claude returns the download URL for the generated PDF
User Prompt:
> "I want to test my new report template before using credits. Preview it with sample data."
Expected Behavior:
1. Claude calls list_templates to find the report templateget_template
2. Claude calls to understand required variablespreview_template
3. Claude calls with sample data:`
json`
{
"workspace_id": "ws_xxx",
"template_id": "monthly-report",
"variables": {
"reportTitle": "Q4 Sales Report",
"reportDate": "2024-12-31",
"metrics": [{"name": "Revenue", "value": "$125,000"}]
},
"format": "pdf",
"version": "draft"
}
4. Claude provides a preview URL (valid for 5 minutes, no credits used)
5. User reviews the preview and confirms it looks correct
User Prompt:
> "Create a professional certificate template with recipient name, course title, completion date, and a signature line"
Expected Behavior:
1. Claude calls get_schema_reference to understand the template schema formatlist_workspaces
2. Claude calls to find where to create the templatecreate_draft_template
3. Claude calls with the full schema:`
json`
{
"workspace_id": "ws_xxx",
"name": "Course Certificate",
"description": "Professional certificate for course completion",
"format": "pdf",
"schema": {
"pages": [{
"id": "page-1",
"components": [
{"id": "title", "type": "heading", "props": {"level": 1, "text": "Certificate of Completion"}},
{"id": "recipient", "type": "rich-text", "props": {}, "content": "This certifies that {{recipientName}}..."}
]
}]
},
"variables": [
{"name": "recipientName", "type": "string", "label": "Recipient Name"},
{"name": "courseTitle", "type": "string", "label": "Course Title"},
{"name": "completionDate", "type": "date", "label": "Completion Date"}
]
}
4. Claude confirms the draft was created and provides a link to the visual designer for final adjustments
| 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) |
- Token Expiry: PATs expire after max 30 days
- Draft-Only: Templates created via MCP are drafts until manually published
- Audit Logging: All operations are logged in your team's activity feed
- Revocable: Instantly revoke tokens from your dashboard
- Verify your token starts with pat_
- Check if the token has expired
- Generate a new token from your dashboard
- Check your internet connection
- Verify the Rynko API is accessible
- Try regenerating your PAT
- Check your config file JSON syntax
- Ensure npx is in your PATH
- Restart Claude Desktop completely
- Full Integration Guide
- Template Schema Reference
- API Documentation
- Email: support@rynko.dev
- Issues: GitHub Issues
To build the Claude Desktop extension bundle:
`bash`
cd integrations/mcp-server
npm install
npm run build:mcpb
This creates:
- dist-mcpb/rynko-mcp-{version}.mcpb - The extension bundledist-mcpb/rynko-mcp-{version}.mcpb.sha256
- - Checksum file
``
rynko-mcp-{version}.mcpb
├── manifest.json # Extension metadata and configuration
├── server/ # Compiled server code
│ ├── index.js
│ └── client.js
└── icon.png # Extension icon (optional)
To submit to the Claude Desktop Extensions directory:
1. Build the MCPB bundle: npm run build:mcpb`
2. Test locally by installing via "Install from file"
3. Submit via Anthropic's Extension Submission Form
4. Include:
- Extension name and description
- Privacy policy URL
- Terms of service URL
- 3+ usage examples
- Safety annotations (data access, network access)
This extension connects to Rynko's API to manage templates and generate documents. By using this extension, you agree to Rynko's Privacy Policy.
Data Collection & Usage:
- Authentication: Your Personal Access Token is stored securely using the operating system's credential manager (Keychain on macOS, Credential Manager on Windows)
- Template Data: Template schemas and variables are transmitted to Rynko's servers for document generation
- Document Variables: Data you provide for document generation is processed on Rynko's servers to render documents
- Generated Documents: Documents are stored temporarily (configurable retention period) and accessible via secure, time-limited URLs
Data Sharing:
- We do not sell or share your data with third parties
- Data is processed solely for the purpose of generating your documents
Data Retention:
- Generated documents are retained based on your subscription tier's retention policy
- You can delete documents at any time from your Rynko dashboard
Full Privacy Policy: https://www.rynko.dev/privacy
Contact: For privacy-related inquiries, contact privacy@rynko.dev
MIT