InslyAI/formflow-mcp-server
If you are the rightful owner of formflow-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The FormFlow MCP Server is a production-ready server designed to transform FormFlow document processing APIs into a Model Context Protocol (MCP) server with real-time streaming capabilities.
get_submission
List submissions with pagination
post_submission
Create new document submission
get_template
List available templates
post_template
Create custom templates
post_ai_generateSubmissionMetadata
Extract document metadata
FormFlow MCP Server
๐ Production-ready MCP server for FormFlow API with HTTP/SSE transport
ยฉ 2025 Insly.com. All rights reserved. This software is proprietary to Insly.com.
Transform your FormFlow document processing API into a powerful Model Context Protocol (MCP) server that can be accessed remotely by any MCP client with real-time streaming capabilities.
โจ Features
- ๐ Remote Access: HTTP/SSE transport for network-accessible MCP server
- โก Real-time Streaming: Server-Sent Events for live responses
- ๐ Multi-client Support: Concurrent session handling with isolation
- ๐ก๏ธ Production Ready: Security, monitoring, health checks, and error handling
- ๐ณ Easy Deployment: Docker, Kubernetes, and cloud platform support
- ๐ 35+ FormFlow Tools: Complete API coverage including AI processing
- ๐ง Type Safe: Full TypeScript and Python type annotations
- ๐ Observability: Structured logging, metrics, and health monitoring
๐ Quick Start
Installation
pip install formflow-mcp-server
Basic Usage
# Set your FormFlow credentials
export FORMFLOW_CLIENT_ID="your_client_id"
export FORMFLOW_CLIENT_SECRET="your_client_secret"
# Start the server
formflow-mcp-server
Server starts at http://localhost:8000
with MCP endpoints and real-time SSE streaming.
Docker
docker run -p 8000:8000 \
-e FORMFLOW_CLIENT_ID=your_client_id \
-e FORMFLOW_CLIENT_SECRET=your_client_secret \
formflow/mcp-server
๐ Documentation
๐ ๏ธ Available FormFlow Tools
Document & Template Management
get_submission
- List submissions with paginationpost_submission
- Create new document submissionget_template
- List available templatespost_template
- Create custom templates
AI-Powered Processing
post_ai_generateSubmissionMetadata
- Extract document metadatapost_ai_extractWithGemini
- Gemini-based data extractionpost_ai_atomic_extract
- Atomic extraction strategyget_ai_strategies
- List available AI processing strategies
File Operations
get_file_by_id
- Retrieve file detailsget_file_by_id_view
- Download/view filesdelete_file_by_id
- Remove files
Workflow & Integration
post_processing
- Start document processing workflowspost_webhook_subscription
- Set up event notificationsget_webhook_subscriptions
- Manage webhook integrations
๐ Client Libraries
Python Client
from formflow_mcp_server.clients import FormFlowMCPClient
async with FormFlowMCPClient("http://localhost:8000") as client:
# List available templates
templates = await client.call_tool("get_template", {})
# Process document with AI
result = await client.call_tool(
"post_ai_generateSubmissionMetadata",
{"submissionId": "123", "model": "claude"}
)
JavaScript Client
import { FormFlowMCPClient } from "formflow-mcp-client";
const client = new FormFlowMCPClient("http://localhost:8000");
await client.connect();
// Real-time document processing
const result = await client.callTool("post_submission", {
name: "Invoice Processing",
templateId: 42,
});
Browser Integration
<script src="https://cdn.jsdelivr.net/npm/formflow-mcp-client/dist/browser.js"></script>
<script>
const client = new FormFlowMCP.Client("http://localhost:8000");
// Full MCP integration in the browser
</script>
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโ HTTP/SSE โโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP Client โ โโโโโโโโโโโโโโโบ โ FormFlow MCP Server โ
โ (Any Client) โ โ โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ REST API
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ FormFlow API โ
โ (Document Processing) โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Key Components
- HTTP/SSE Transport: Multi-client session management
- MCP Protocol Handler: Standard MCP request/response handling
- FormFlow Integration: API client with authentication
- Session Manager: Concurrent client isolation
- Health & Monitoring: Observability and reliability
โ๏ธ Configuration
Environment Variables
# FormFlow API Configuration
FORMFLOW_CLIENT_ID=your_client_id
FORMFLOW_CLIENT_SECRET=your_client_secret
FORMFLOW_API_URL=https://develop.formflow-dev.net/api
# Server Configuration
HOST=0.0.0.0
PORT=8000
LOG_LEVEL=INFO
# Security
CORS_ORIGINS=*
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_WINDOW=60
# Monitoring (Optional)
ENABLE_METRICS=true
METRICS_PATH=/metrics
Configuration File
# formflow-mcp-config.yaml
server:
host: 0.0.0.0
port: 8000
workers: 4
formflow:
api_url: https://develop.formflow-dev.net/api
timeout: 30
retry_attempts: 3
security:
cors_origins: ["*"]
rate_limit:
requests: 100
window: 60
logging:
level: INFO
format: json
monitoring:
enable_metrics: true
health_check_interval: 30
๐ Deployment
Docker Compose
version: "3.8"
services:
formflow-mcp-server:
image: formflow/mcp-server:latest
ports:
- "8000:8000"
environment:
FORMFLOW_CLIENT_ID: ${FORMFLOW_CLIENT_ID}
FORMFLOW_CLIENT_SECRET: ${FORMFLOW_CLIENT_SECRET}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: formflow-mcp-server
spec:
replicas: 3
selector:
matchLabels:
app: formflow-mcp-server
template:
metadata:
labels:
app: formflow-mcp-server
spec:
containers:
- name: formflow-mcp-server
image: formflow/mcp-server:latest
ports:
- containerPort: 8000
env:
- name: FORMFLOW_CLIENT_ID
valueFrom:
secretKeyRef:
name: formflow-secrets
key: client-id
Cloud Platforms
- Coolify: See Coolify Deployment section
- Railway:
railway up
- Render:
render deploy
- Fly.io:
fly deploy
- Google Cloud Run:
gcloud run deploy
- AWS ECS: CloudFormation templates included
๐ Security
- Authentication: FormFlow JWT token management
- Session Isolation: Per-client session security
- CORS Protection: Configurable cross-origin policies
- Rate Limiting: Request throttling and abuse prevention
- Input Validation: Comprehensive request validation
- Security Headers: OWASP recommended headers
๐ Monitoring
Health Checks
curl http://localhost:8000/health
Metrics (Prometheus)
curl http://localhost:8000/metrics
Logging
Structured JSON logging with correlation IDs:
{
"timestamp": "2024-01-15T10:30:00Z",
"level": "INFO",
"message": "MCP tool called",
"session_id": "abc123",
"tool_name": "get_submission",
"duration_ms": 150
}
๐งช Testing
# Install with test dependencies
pip install formflow-mcp-server[test]
# Run test suite
pytest
# With coverage
pytest --cov=formflow_mcp_server
# Integration tests
pytest tests/integration/
# End-to-end tests
pytest tests/e2e/
๐ Proprietary Software
This software is proprietary to Insly.com and is not open source. All rights reserved.
For internal development:
- Create feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Create internal Pull Request for review
๐ License
ยฉ 2025 Insly.com. All rights reserved.
This is proprietary software owned by Insly.com. Unauthorized copying, modification, distribution, or use of this software, via any medium, is strictly prohibited.
**ยฉ 2025 Insly.com **