MCP server for creating, running, inspecting, and scheduling Figranium browser automations.
A Model Context Protocol (MCP) server for Figranium, built with `@modelcontextprotocol/sdk` and the official `@figranium/sdk` API client.
llms-install.md)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-mcp
For local development:
git clone https://github.com/figranium/figranium-mcp
dcd figranium-mcp
npm install
npm run build
docker pull ghcr.io/figranium/figranium-mcp:latest
The server requires the following environment variables to interact with your Figranium instance:
FIGRANIUM_BASE_URL: The base URL of your Figranium server. Defaults to http://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.
Add the following to your cline_mcp_settings.json:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json{
"mcpServers": {
"figranium": {
"command": "npx",
"args": ["-y", "figranium-mcp"],
"env": {
"FIGRANIUM_BASE_URL": "http://localhost:11345",
"FIGRANIUM_API_KEY": "your_figranium_api_key_here"
}
}
}
}
Alternatively, if running directly from a cloned source repository:
{
"mcpServers": {
"figranium": {
"command": "node",
"args": ["/path/to/figranium-mcp/dist/index.js"],
"env": {
"FIGRANIUM_BASE_URL": "http://localhost:11345",
"FIGRANIUM_API_KEY": "your_figranium_api_key_here"
}
}
}
}
Automated Setup for Cline: Give Cline a link or reference to
llms-install.mdand Cline will perform the setup and configuration automatically.
Add the container configuration to your claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%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.
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.
llms-install.md)AI assistants (including Cline, Cursor, Claude Desktop, and Roo Code) can automatically read llms-install.md to set up and configure the Figranium MCP server without manual intervention.
The server initializes with embedded guidelines for LLM agents detailing the task lifecycle:
agent mode, including for scraping tasks. scrape mode does not support action blocks and is reserved for exceptional cases requiring extremely fast, action-free scraping; headful is intended for visible interactive debugging.navigate, wait_selector, click, type, javascript) and execution flow. The MCP rejects a first Timed Wait or Navigate To (use task-level wait and url) and a final Get Content action (use it as intermediate data or use extractionScript for final output).figranium://schemas/task-v1.jsonapplication/jsoncreate_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 by taskId with optional variable overrides.The task schema supports Figranium v0.18 browser interactions: checked-state actions, drag and drop, page reloads, native select controls, and single/double/right-click modes. It also supports opt-in page translation through translation: { enabled, targetLanguage } for Agent and headful Tasks.
execution_list: Retrieve a summary of past task execution logs and statuses.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 specific taskId.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.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'
If you wish to modify the source code or run without Docker:
# Clone repository
git clone <a href="https://github.com/figranium/figranium-mcp.git" target="_blank">https://github.com/figranium/figranium-mcp.git</a>
cd figranium-mcp
# Install dependencies and compile TypeScript
npm install
npm run build
# Watch mode for active development
npm run watch
Inspect server tools and resources using the official MCP debugging suite:
npx @modelcontextprotocol/inspector npx -y figranium-mcp
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y figranium-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-figranium-figranium-mcp": {
"command": "npx",
"args": [
"-y",
"figranium-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceFigranium MCP works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.