figranium-mcp
v1.1.1
Published
MCP server for Figranium, wrapping task execution, scheduling, and automation orchestration.
Readme
Figranium MCP Server
A Model Context Protocol (MCP) server for Figranium, built with @modelcontextprotocol/sdk and the official @figranium/sdk API client. This server allows LLM clients (like Claude Desktop, Cursor, and Manus AI) to discover, execute, inspect, schedule, and programmatically create Figranium automation tasks via standard STDIO transport.
Table of Contents
- Quick Start (Docker / OCI)
- Client Integration
- Environment Variables
- Server-Wide System Instructions
- Available Resources
- Available Tools
- Rich Input Diagnostics & Self-Correction
- Local Development & Source Build
Quick Start (Docker / OCI)
No Node.js runtime or repository clone is required. The official container image is published on GitHub Container Registry (ghcr.io).
Zero-config npm usage is also supported:
npx -y figranium-mcpFor local development:
git clone https://github.com/figranium/figranium-mcp
dcd figranium-mcp
npm install
npm run builddocker pull ghcr.io/figranium/figranium-mcp:latestEnvironment Variables
The server requires the following environment variables to interact with your Figranium instance:
FIGRANIUM_BASE_URL: The base URL of your Figranium server. Defaults tohttp://localhost:11345.FIGRANIUM_API_KEY: The API key generated from Figranium settings to authorize requests. This variable is required for startup.
If FIGRANIUM_API_KEY is missing, the server prints a clear setup message and exits gracefully.
Client Integration
Claude Desktop
Add the container configuration to your claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"figranium": {
"command": "npx",
"args": ["-y", "figranium-mcp"],
"env": {
"FIGRANIUM_BASE_URL": "http://localhost:11345",
"FIGRANIUM_API_KEY": "your_figranium_api_key_here"
}
}
}
}Note for Local Hosts: If your Figranium instance runs locally on your host machine, use
http://localhost:11345when running vianpx.
Cursor Integration
Add the following to ~/.cursor/mcp.json:
{
"mcpServers": {
"figranium": {
"command": "npx",
"args": ["-y", "figranium-mcp"],
"env": {
"FIGRANIUM_BASE_URL": "http://localhost:11345",
"FIGRANIUM_API_KEY": "YOUR_API_KEY"
}
}
}
}This lets Claude Desktop and Cursor launch the package directly without requiring a local build or a Docker bridge.
Server-Wide System Instructions
The server initializes with embedded guidelines for LLM agents detailing the task lifecycle:
- Task Creation: Structuring name, starting URL, execution mode (
scrape,agent, orheadful), and stealth mechanisms. - Step Sequence Construction: Ordering action steps (
navigate,wait_selector,click,type,javascript) and execution flow. - Selector Strategy: Preferring robust ARIA, ID, and semantic class selectors with fallback strategies.
- Execution & Variables: Injecting and overriding runtime context variables.
Available Resources
figranium://schemas/task-v1.json
- MIME Type:
application/json - Description: Exposes the complete JSON Schema specification of a Figranium task. Allows agents to dynamically inspect valid parameters and payload shapes.
Available Tools
Task Operations
create_task: Create a complete, fully-configured Figranium automation task including sequential action steps, state variables, anti-bot stealth mechanisms, and optional scheduling.task_list: List all task IDs, names, and descriptions registered on the Figranium server.task_execute: Run a saved task bytaskIdwith optional variable overrides.
Execution Operations
execution_list: Retrieve a summary of past task execution logs and statuses.
Schedule Operations
schedule_list: List all tasks with configured schedules.schedule_get_all_status: Retrieve overall scheduler state and metadata.schedule_get_status: Get active schedule details and next run time for a specifictaskId.schedule_set: Create or update a cron or frequency schedule on a task.schedule_delete: Disable and remove a task schedule.schedule_describe: Validate and preview a schedule configuration without applying it.
Rich Input Diagnostics & Self-Correction
If an invalid parameter payload is supplied to create_task, the server returns structured Zod diagnostic output (isError: true). This allows connected LLMs to analyze schema errors and attempt immediate self-correction.
Example response:
Schema Validation Failed!
Detailed breakdown of validation errors:
- At Step Index 2 (action step #3), parameter "type" failed validation: Invalid enum value. Expected 'click' | 'type' | 'wait' ..., received 'clikc'Local Development & Source Build
If you wish to modify the source code or run without Docker:
Prerequisites
- Node.js v18+
- npm v9+
Build & Run
# Clone repository
git clone [https://github.com/figranium/figranium-mcp.git](https://github.com/figranium/figranium-mcp.git)
cd figranium-mcp
# Install dependencies and compile TypeScript
npm install
npm run build
# Watch mode for active development
npm run watchTesting with MCP Inspector
Inspect server tools and resources using the official MCP debugging suite:
npx @modelcontextprotocol/inspector npx -y figranium-mcp