Figranium MCP Server
Official<div align="center">
<img src="https://raw.githubusercontent.com/figranium/figranium-mcp/main/banner.png" alt="Figranium Banner">
<h1>Figranium MCP Server</h1>
<a href="https://www.npmjs.com/package/figranium-mcp" target="_blank"><img src="https://img.shields.io/npm/v/figranium-mcp?label=NPM" alt="NPM"></a>
<a href="https://glama.ai/mcp/servers/figranium/figranium-mcp" target="_blank"><img src="https://glama.ai/mcp/servers/figranium/figranium-mcp/badges/score.svg" alt="Glama quality and maintenance score"></a>
<p><strong>The official Model Context Protocol (MCP) server for Figranium, built with the official Figranium JavaScript SDK API client.</strong></p>
<p><a href="https://mcp.figranium.dev" target="_blank"><strong>View</strong></a></p>
</div>
## Use Figranium with MCP
Figranium turns website workflows into reusable Tasks that AI agents can discover, create, and run through MCP. This server is the local STDIO client for connecting an MCP-compatible app to your Figranium instance.
> Looking for the hosted OAuth MCP instead? Connect compatible remote MCP clients to `https://mcp.figranium.dev/mcp`.
## Quick start
You need a running Figranium instance and an API key from Figranium settings.
Run the MCP server directly from npm:
```bash
FIGRANIUM_API_KEY=YOUR_API_KEY npx -y figranium-mcp
```
By default, it connects to Figranium at `http://localhost:11345`. To use another instance:
```bash
FIGRANIUM_BASE_URL=https://your-figranium-instance.example.com \
FIGRANIUM_API_KEY=YOUR_API_KEY \
npx -y figranium-mcp
```
### MCP client configuration
Most local MCP clients accept a configuration shaped like this:
```json
{
"mcpServers": {
"figranium": {
"command": "npx",
"args": ["-y", "figranium-mcp"],
"env": {
"FIGRANIUM_BASE_URL": "http://localhost:11345",
"FIGRANIUM_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
Use that server entry in clients such as Codex, Claude Code, Cursor, GitHub Copilot, Claude Desktop, Cline, and other STDIO MCP clients.
If the MCP server itself runs inside Docker while Figranium runs on the host, use `http://host.docker.internal:11345` instead of `http://localhost:11345`.
## What agents can do
Once connected, an agent can work with Figranium without manually calling its API. The MCP server exposes tools for the core Task lifecycle:
| Tool | Purpose |
| --- | --- |
| `task_list` | Discover existing Tasks |
| `create_task` | Create a new Task |
| `task_execute` | Execute a Task with optional variable overrides |
| `execution_list` | Inspect previous executions |
| `schedule_list` | Find scheduled Tasks |
| `schedule_get_all_status` | Inspect scheduler state |
| `schedule_get_status` | Inspect one Task's schedule |
| `schedule_set` | Create or update a schedule |
| `schedule_delete` | Remove a schedule |
| `schedule_describe` | Validate and preview a schedule |
The server also exposes `figranium://schemas/task-v1.json`, allowing clients to inspect the Figranium Task schema directly.
Figranium's MCP instructions teach agents how to construct Tasks, choose selectors, use variables, and follow Task sequencing rules. Invalid Task payloads return structured validation diagnostics so an agent can correct its own request.
## Local vs hosted MCP
The npm package contains the local STDIO MCP server. It does not ship the Figranium MCP landing page or hosted OAuth UI.
For clients that support remote OAuth MCP, use:
```text
https://mcp.figranium.dev/mcp
```
The hosted MCP handles OAuth and connects the client to a publicly reachable Figranium instance. For local clients, `npx -y figranium-mcp` is usually the simpler path and can connect directly to localhost.
## Environment variables
| Variable | Required | Default | Description |
| --- | --- | --- | --- |
| `FIGRANIUM_API_KEY` | Yes | — | API key generated by your Figranium instance |
| `FIGRANIUM_BASE_URL` | No | `http://localhost:11345` | Base URL of the Figranium instance |
The server exits with a setup message if `FIGRANIUM_API_KEY` is missing.
## Build from source
Requires Node.js 18+ and npm 9+.
```bash
git clone https://github.com/figranium/figranium-mcp.git
cd figranium-mcp
npm install
npm run build
```
Run the compiled server:
```bash
FIGRANIUM_API_KEY=YOUR_API_KEY npm start
```
For active development:
```bash
npm run watch
```
Run the test suite:
```bash
npm test
```
### MCP Inspector
You can inspect the published server with the official MCP Inspector:
```bash
FIGRANIUM_API_KEY=YOUR_API_KEY npx @modelcontextprotocol/inspector npx -y figranium-mcp
```
## Links
- [Figranium documentation](https://figranium.dev/docs)
- [Figranium](https://figranium.dev)
- [npm package](https://www.npmjs.com/package/figranium-mcp)
- [MCP server source](https://github.com/figranium/figranium-mcp)
- [Figranium source](https://github.com/figranium/figranium)
TDQS
Scored across 16 tools
Most tools target a distinct resource and action: task CRUD/execution, schedule management, cabinet listing/creation, and browser session control are clearly separated. The main ambiguity is between schedule_list and schedule_get_all_status, which both surface schedule-related information across all tasks and could be confused by an agent.
Most tools follow a noun_verb pattern (task_update, schedule_delete, browser_open), but several break it with verb_noun names (create_task, create_cabinet, list_cabinets). The mixed conventions are still readable and predictable within each resource group, but the set is not uniformly patterned.
At 16 tools, the count is slightly above the ideal range but justified by the server's broad scope spanning tasks, schedules, cabinets, browser sessions, and executions. A few schedule status tools could potentially be consolidated, but the overall footprint is reasonable.
The task lifecycle is well covered with create, update, delete, list, and execute, and schedule management covers set, delete, describe, list, and status. Minor gaps exist—no individual task detail retrieval, no execution detail endpoint, and no cabinet delete or browser close—but agents can work around these without major failures.