functualize-mcp
Status: Published — Independently installable from PyPI.
MCP delivery adapter plugin for functualize — exposes jobs as MCP tools via FastMCP. External AI agents (Goose, Claude, Cursor) can discover and invoke functualize jobs through the standardized Model Context Protocol interface without any manual wiring.
Installation
pip install functualize-mcp
Quick Start
from functualize_mcp import JobToolTranslator, MCPToolDef, SchemaExporter
# Translate a job descriptor into an MCP tool definition
translator = JobToolTranslator()
tool_def = translator.translate(my_job_descriptor)
print(tool_def.name, tool_def.description)
# Export all job schemas as OpenAI function calling JSON
exporter = SchemaExporter(translator)
openai_json = exporter.export_openai(descriptors)
Features
- Automatic job-to-tool translation with JSON Schema input generation from config models
- Dual transport support: stdio (default) and HTTP+SSE for networked agents
- Job visibility filtering via include/exclude tags and job name exclusion lists
- Multi-format schema export: JSON (MCP), Markdown, OpenAI function calling, TypeScript
- Multi-server management: start, list, and stop background HTTP servers
- Workflow inspection and advancement tools for paused workflow steps
- Async job execution with polling via
run_job_async/get_execution_status - AI outbound gate strategy for workflow checkpoint serialization
API Reference
Public classes and functions exported by this plugin:
MCPAdapterPlugin— Plugin entry point implementing the AdapterPlugin protocol; registers MCP tools at bootMCPConfig— Pydantic configuration model controlling transport, port, host, tag filters, and management featuresMCPServer— FastMCP wrapper that discovers jobs, registers tools, and serves via stdio or HTTP+SSEJobToolTranslator— Translates JobDescriptors into MCPToolDef instances using docstrings and config schemasMCPToolDef— Frozen dataclass representing an MCP tool (name, description, input_schema, annotations)SchemaExporter— Exports job schemas in JSON, Markdown, OpenAI, and TypeScript formatsMCPToolRegistry— Registers core MCP tools (discover_jobs, get_job_schema, run_job, run_job_async, get_execution_status)MCPHistoryToolRegistry— Registers execution history inspection toolsMCPManagementToolRegistry— Registers multi-server management meta-toolsMCPTaskToolRegistry— Registers task-domain MCP toolsWorkflowToolProvider— Registers workflow state inspection and resume toolsServerManager— Manages background MCP HTTP server processes (start, list, stop)ServerInfo— Dataclass describing a managed server (name, directory, port, pid, status)AIOutboundGateResolver— Gate strategy resolver for AI outbound workflow checkpointsregister_ai_outbound_gate_strategy()— Registers the ai_outbound gate strategy and preset with an app
Development
Run plugin tests:
uv run pytest plugins/functualize-mcp/tests/ -v
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file functualize_mcp-0.1.0.tar.gz.
File metadata
- Download URL: functualize_mcp-0.1.0.tar.gz
- Upload date:
- Size: 44.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58577b194d6db72462f9ac1c06b32e64662800334abd5954c643c477f416c8cf
|
|
| MD5 |
31527d1d6585894e6c8c3b2077b75159
|
|
| BLAKE2b-256 |
e268e378938b0ccb30942774eaa86ad7304902fe64908698241bd4ca026ef919
|
File details
Details for the file functualize_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: functualize_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 49.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc214e34506b985ad8ba3ddfcba669af7e96bc8c0cefa3931737ea6f59dab6b8
|
|
| MD5 |
1451c83db656f507302db9a92a4f1c38
|
|
| BLAKE2b-256 |
8b3c6c66c4e3c8e8b50d68cdfc74188e6a88315f29ae422e270bac448f8b39c7
|