This workflow corresponds to n8n.io template #5494 — we link there as the canonical source.
This workflow follows the HTTP Request Tool → Mcptrigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "rhDfPKxHhaIJCUZi",
"meta": null,
"name": "doqs.dev | PDF filling API MCP Server",
"tags": [],
"nodes": [
{
"id": "4e209cdb-ad42-4115-9cd5-25c62c7b0c00",
"name": "Workflow Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1360,
-240
],
"parameters": {
"width": 420,
"height": 1360,
"content": "## \ud83d\udee0\ufe0f doqs.dev | PDF filling MCP Server \u2705 14 operations\n\n### \ud83d\udd27 How it Works\n\nThis workflow converts the doqs.dev | PDF filling API into an MCP-compatible interface for AI agents.\n\n\u2022 **MCP Trigger**: Serves as your server endpoint for AI agent requests\n\u2022 **HTTP Request Nodes**: Handle API calls to https://api.doqs.dev/v1\n\u2022 **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n\u2022 **Native Integration**: Returns responses directly to the AI agent\n\n### \ud83d\udccb Available Operations (14 endpoints)\n\n**Designer (7 operations)**\nlist, create, preview, delete, update, generate\n\n**Templates (7 operations)**\nlist, create, delete, get, update, fill\n\n### \u2699\ufe0f Setup Instructions\n\n1. **Import Workflow**: Load this workflow into your n8n instance\n\n2. **Configure Authentication**: Set up apiKey credentials\n - Type: API Key in header\n - Key name: x-api-key\n\n3. **Activate Workflow**: Enable the workflow to start the MCP server\n\n4. **Get MCP URL**: Copy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**: Use the MCP URL in your AI agent configuration\n\n### \ud83d\udca1 Usage Notes\n\n\u2022 Parameters are auto-populated by AI using $fromAI() expressions\n\u2022 With 14 API endpoints available as tools\n\u2022 Responses maintain original API structure\n### \ud83d\udee0\ufe0f Customization\n\n\u2022 Add data transformation nodes if needed\n\u2022 Implement custom error handling\n\u2022 Add logging or monitoring nodes\n\n\u2022 Modify parameter defaults in any HTTP request node as needed\n\n### \ud83d\udcac Need Help?\nCheck the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) or ping me on [discord](https://discord.me/cfomodz) for MCP integration guidance or customizations."
},
"typeVersion": 1
},
{
"id": "a9e11018-a064-413a-bd98-a0d53f49e5d3",
"name": "doqs.dev | PDF filling MCP Server",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"position": [
-600,
-220
],
"parameters": {
"path": "doqs.dev-|-pdf-filling-mcp"
},
"typeVersion": 1
},
{
"id": "88703177-c732-4fe1-8035-23bec750d746",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
20
],
"parameters": {
"color": 2,
"width": 1500,
"height": 180,
"content": "## Designer"
},
"typeVersion": 1
},
{
"id": "4ccae877-333b-43d8-b19c-448eb8eecada",
"name": "List Templates",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-740,
40
],
"parameters": {
"url": "=https://api.doqs.dev/v1/designer/templates/",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "limit",
"value": "={{ $fromAI('limit', 'Limit', 'number', 100) }}"
},
{
"name": "offset",
"value": "={{ $fromAI('offset', 'Offset', 'number', 0) }}"
}
]
},
"toolDescription": "List Templates\n\nParameters:\n- Query parameters:\n \u2022 limit (optional)\n \u2022 offset (optional)"
},
"typeVersion": 4.2
},
{
"id": "5684e84f-0ce1-443d-b0b0-9e41b327f451",
"name": "Create Template",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-540,
40
],
"parameters": {
"url": "=https://api.doqs.dev/v1/designer/templates/",
"method": "POST",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Create Template"
},
"typeVersion": 4.2
},
{
"id": "c8e2c818-7b2d-413a-8a87-ed6458fbe5a4",
"name": "Preview",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-340,
40
],
"parameters": {
"url": "=https://api.doqs.dev/v1/designer/templates/preview",
"method": "POST",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Preview"
},
"typeVersion": 4.2
},
{
"id": "e1f6832e-40aa-4add-8417-0c227a400f4d",
"name": "Delete",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-140,
40
],
"parameters": {
"url": "=https://api.doqs.dev/v1/designer/templates/{{ $fromAI('id', 'Id', 'string') }}",
"method": "DELETE",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Delete\n\nParameters:\n- Path parameters:\n \u2022 id (required)"
},
"typeVersion": 4.2
},
{
"id": "623bb357-5973-4a4d-ac4c-76896975c7ec",
"name": "List Templates 1",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
60,
40
],
"parameters": {
"url": "=https://api.doqs.dev/v1/designer/templates/{{ $fromAI('id', 'Id', 'string') }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "List Templates\n\nParameters:\n- Path parameters:\n \u2022 id (required)"
},
"typeVersion": 4.2
},
{
"id": "dc5a68b9-9601-4e2c-9a4e-83a182adf109",
"name": "Update Template",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
260,
40
],
"parameters": {
"url": "=https://api.doqs.dev/v1/designer/templates/{{ $fromAI('id', 'Id', 'string') }}",
"method": "PUT",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Update Template\n\nParameters:\n- Path parameters:\n \u2022 id (required)"
},
"typeVersion": 4.2
},
{
"id": "f62a3902-29fc-45c7-8d53-436ea9e57061",
"name": "Generate Pdf",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
460,
40
],
"parameters": {
"url": "=https://api.doqs.dev/v1/designer/templates/{{ $fromAI('id', 'Id', 'string') }}/generate",
"method": "POST",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Generate Pdf\n\nParameters:\n- Path parameters:\n \u2022 id (required)"
},
"typeVersion": 4.2
},
{
"id": "0edf826e-b59e-4ccc-85ae-b7aafdbd319d",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
260
],
"parameters": {
"color": 3,
"width": 1500,
"height": 180,
"content": "## Templates"
},
"typeVersion": 1
},
{
"id": "ff6ee8cf-15ee-454a-86c1-22cea42a1b2b",
"name": "List ",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-740,
280
],
"parameters": {
"url": "=https://api.doqs.dev/v1/templates",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "limit",
"value": "={{ $fromAI('limit', 'Limit', 'number', 100) }}"
},
{
"name": "offset",
"value": "={{ $fromAI('offset', 'Offset', 'number', 0) }}"
}
]
},
"toolDescription": "List \n\nParameters:\n- Query parameters:\n \u2022 limit (optional)\n \u2022 offset (optional)"
},
"typeVersion": 4.2
},
{
"id": "206d86a4-78e9-4f76-8fd5-15a38c928cb2",
"name": "Create",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-540,
280
],
"parameters": {
"url": "=https://api.doqs.dev/v1/templates",
"method": "POST",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Create"
},
"typeVersion": 4.2
},
{
"id": "19a22d12-ce22-4470-880c-ffceb1fe5d27",
"name": "Delete ",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-340,
280
],
"parameters": {
"url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}",
"method": "DELETE",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Delete \n\nParameters:\n- Path parameters:\n \u2022 id (required)"
},
"typeVersion": 4.2
},
{
"id": "14117297-45f9-4769-a90d-f4101df5aa95",
"name": "Get Template",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-140,
280
],
"parameters": {
"url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Get Template\n\nParameters:\n- Path parameters:\n \u2022 id (required)"
},
"typeVersion": 4.2
},
{
"id": "6fa4dbf4-c460-4fc7-bc36-40e3effc5fe8",
"name": "Update",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
60,
280
],
"parameters": {
"url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}",
"method": "PUT",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Update\n\nParameters:\n- Path parameters:\n \u2022 id (required)"
},
"typeVersion": 4.2
},
{
"id": "68cd92f4-7fa6-4332-ba67-2ec701c3b770",
"name": "Get File",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
260,
280
],
"parameters": {
"url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}/file",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Get File\n\nParameters:\n- Path parameters:\n \u2022 id (required)"
},
"typeVersion": 4.2
},
{
"id": "e1c3967c-0545-4904-b45b-aaa8be312e5b",
"name": "Fill",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
460,
280
],
"parameters": {
"url": "=https://api.doqs.dev/v1/templates/{{ $fromAI('id', 'Id', 'string') }}/fill",
"method": "POST",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Fill\n\nParameters:\n- Path parameters:\n \u2022 id (required)"
},
"typeVersion": 4.2
}
],
"active": false,
"shared": [
{
"role": "workflow:owner",
"project": {
"id": "G5fce9xGuBAsWBXe",
"icon": null,
"name": "David Ashby <david.ashby.lds@gmail.com>",
"type": "personal",
"createdAt": "2025-06-04T02:55:02.013Z",
"updatedAt": "2025-06-04T02:56:01.361Z",
"projectRelations": [
{
"role": "project:personalOwner",
"user": {
"id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
"role": "global:owner",
"email": "david.ashby.lds@gmail.com",
"disabled": false,
"lastName": "Ashby",
"settings": {
"npsSurvey": {
"responded": true,
"lastShownAt": 1749357655581
},
"userActivated": true,
"userActivatedAt": 1749075994495,
"easyAIWorkflowOnboarded": true,
"firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
},
"createdAt": "2025-06-04T02:55:01.745Z",
"firstName": "David",
"isPending": false,
"updatedAt": "2025-06-08T04:40:58.399Z",
"mfaEnabled": false,
"personalizationAnswers": {
"version": "v4",
"personalization_survey_n8n_version": "1.95.3",
"personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
}
},
"userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
"createdAt": "2025-06-04T02:55:02.013Z",
"projectId": "G5fce9xGuBAsWBXe",
"updatedAt": "2025-06-04T02:55:02.013Z"
}
]
},
"createdAt": "2025-06-30T20:13:01.821Z",
"projectId": "G5fce9xGuBAsWBXe",
"updatedAt": "2025-06-30T20:13:01.821Z",
"workflowId": "rhDfPKxHhaIJCUZi"
}
],
"settings": {
"timezone": "America/New_York"
},
"createdAt": "2025-06-30T20:13:01.819Z",
"updatedAt": "2025-06-30T20:33:16.000Z",
"versionId": "2cb7deda-12f3-4fc4-911d-f2147d46444c",
"isArchived": false,
"staticData": null,
"connections": {
"Fill": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"List ": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Delete": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Update": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Delete ": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Preview": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get File": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Generate Pdf": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Get Template": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"List Templates": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create Template": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"Update Template": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
},
"List Templates 1": {
"ai_tool": [
[
{
"node": "doqs.dev | PDF filling MCP Server",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"triggerCount": 0
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Complete MCP server exposing 14 doqs.dev | PDF filling API operations to AI agents.
Source: https://n8n.io/workflows/5494/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C
Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?
Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?
Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?
Awesome N8N Templates. Uses agent, telegramTrigger, mcpClientTool, mcpTrigger. Event-driven trigger; 33 nodes.