Introduction
FME Flow can act as an MCP server, making your FME workspaces available as callable tools.
This means an MCP client can run a workspace without needing to understand how the workspace is built, what systems it connects to, or which data formats it uses. The client simply discovers the available tool, provides the required inputs, and receives a structured response.
Those clients can include AI assistants, custom applications built on the MCP standard, or FME itself using the MCPCaller transformer. Existing workspaces can be registered as MCP tools without changing the workspace logic.
Because the tools run in FME Flow, they can perform the same kinds of operations as any other workspace, including reading, writing, updating, or deleting data. They also inherit FME Flow’s deployment options and security model. For example, an organization can run FME Flow on-premises or in a private cloud, allowing clients to work with governed data while the data remains inside controlled infrastructure.
A single FME Flow instance can host multiple MCP servers, so tools can be organized by team, project, or data domain.
Why Create an MCP Server?
Make existing workflows callable through a standard interface
Any FME workflow can be published as an MCP tool, making it accessible to any MCP-compatible application without building a separate integration for each one.
Keep sensitive data behind the firewall
Because FME Flow can run on-premises, MCP tools can serve results to external clients without the underlying data ever leaving your infrastructure.
Connect systems that have no MCP support
Any system FME can read from or write to can be wrapped as an MCP tool, including legacy databases, proprietary formats, and systems with no API.
Give clients access to complex processing without exposing the complexity
Spatial analysis, format conversion, and multi-system aggregation can be packaged as simple callable tools. The client sends inputs and receives results without needing to understand what runs underneath.
Provide AI with capabilities it cannot perform natively
Workflows that perform spatial analysis, data transformation, or cross-system lookups can be exposed as tools that AI agents invoke directly, returning structured results into the AI workflow.
Surface multi-system workflows as a single operation
A workflow that reads and transforms data across multiple systems can be published as one tool, abstracting the underlying complexity from the calling client.
Key Concepts
Creating MCP Tools
Any workspace published to FME Flow can be registered as an MCP tool. Workspaces built specifically for MCP use are designed with inputs, outputs, and descriptions in mind from the start, but the registration process is the same either way. FME Flow currently supports Tools only — Resources and Prompts are not available on the serving side.
- Workspace user parameters can be exposed as tool parameters. When enabled, MCP clients can provide values for those parameters when invoking the tool.
- Adding an MCP Writer allows the workspace to return content to the calling client. Without one, the client receives job status information only.
- Tool names and descriptions determine how MCP clients discover and understand what a tool does. These are the key additions when registering an existing workspace.
- When a tool is registered, FME Flow automatically generates and maintains its metadata. Any MCP client connecting to the server can query this to discover available tools.
Security and Authentication
MCP tool calls are governed by FME Flow's existing security controls. MCP clients interact with tools through the MCP interface and do not have direct access to underlying systems or data.
- Access is scoped per tool and role-based permissions apply.
- All actions are logged.
- OAuth 2.0 is supported.
Using Writers for MCP Tool Output
When a workspace is registered as an MCP tool on FME Flow, the response returned to the MCP client depends on which writer, if any, is used in the workspace.
MCP Writer
The MCP Writer is meant to be used within workspaces that are designed to run as MCP tools on FME Flow. Any data that is written to this format will be delivered to the MCP client after the workspace has finished running.
Currently, the MCP Writer supports text, image, and audio content type outputs, each being represented by a different feature type when the writer is added to a workspace. Text content is passed to the writer as a simple text string, and image/audio content is passed in as Base64-encoded data, along with the appropriate MIME type label. All content types also support optional annotation values for both "audience" and "priority". These values give the MCP client hints about how to display the returned content. Each MCP client will handle these annotations differently, meaning that some clients may honour their values, and others may ignore them completely. Test thoroughly with your chosen MCP client to determine how these values impact your tool responses.
For more information on the MCP Writer, see our documentation.
JSON Writer
Workspaces that use a JSON Writer will return the JSON Writer payload as structured output to the MCP client, rather than only the job status.
No Writer
If a workspace does not include an MCP Writer or JSON Writer, the tool response will return only the job status (success or failure) with no content payload. This is useful for exposing simple workspaces as MCP tools where content output is not required.
Articles
Returning Text Content from an FME MCP Tool
Add the MCP Writer to a workspace and configure it to return text output to a calling MCP client.
Returning Image Content from an FME MCP Tool
Add the MCP Writer to a workspace and configure it to return Base64-encoded image output to a calling MCP client.
Additional Resources
Getting Started with FME in MCP: An introduction to MCP in FME — covers what MCP is, how FME supports it as both a client and a server, and links to the MCPCaller and FME Flow MCP Server articles.
FME with MCP: The Power of Choice, Expanded: Overview of FME's MCP capabilities, including the MCPCaller Transformer and FME Flow's MCP Server, with use cases and FAQs.
The Model Context Protocol: A Universal Bridge Between Your Data and AI: Conceptual overview of MCP — what it is, how it works, and how FME fits into the ecosystem as both a consumer and provider of MCP capabilities.
MCP and the Power of Choice: Expanding Your AI and System Reach (webinar): Introductory walkthrough of both FME MCP capabilities with live demos — consuming MCP tools with the MCPCaller and creating MCP tools in FME Flow.
From Esri to AI: Create an MCP Server in 7 Minutes with FME (webinar): Live build turning an FME workspace into a functional MCP server, using ArcGIS data as a starting point. Covers the full pattern from workspace to MCP tool.
From Prototype to Production: Building Real-World AI and MCP Workflows (webinar): Intermediate-level session with real municipal use cases, covering generative AI for document extraction, the FME Flow MCP server in practice, and lessons learned from production deployments.