Skip to main content
Glama
JoergKoester

mcp-server-filemaker

by JoergKoester

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FM_HOSTYesFileMaker Server URL with protocol, e.g. https://fms.example.com
FM_DEBUGNotrue to log full tool arguments to stderrfalse
FM_DATABASEYesDatabase name
FM_PASSWORDYesPassword
FM_USERNAMEYesAPI user (needs Extended Privilege fmodata)
FM_TIMEOUT_MSNoHTTP request timeout in milliseconds, default 1500015000
FM_RETRY_COUNTNoRetry attempts on transient failures, default 22
FM_ODATA_VERSIONNoOData version, default v4v4
FM_DISABLED_TOOLSNoComma-separated tool names to disable

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
fm_get_metadataB

Reads the full OData $metadata document of the FileMaker database (EDMX/XML). Contains all tables, fields, types, and relationships.

fm_get_service_documentA

Lists all available EntitySets (tables/layouts) of the FileMaker database.

fm_queryA

Query records from a FileMaker table. Supports OData $filter, $select, $top, $skip, $orderby, $expand, $count. Default limit: 100 records (override with $top).

fm_get_recordB

Read a single FileMaker record by ROWID.

fm_create_recordC

Create a new record in a FileMaker table.

fm_update_recordC

Update an existing FileMaker record by ROWID (PATCH).

fm_delete_recordC

Delete a FileMaker record by ROWID.

fm_run_scriptC

Run a FileMaker script. Returns scriptResult with code and resultParameter.

fm_create_tableB

Create a new table in the FileMaker database (schema modification via OData).

fm_add_fieldC

Add a new field to an existing FileMaker table. SQL-style field types: VARCHAR(n), INT, NUMERIC, DATE, TIME, TIMESTAMP, BLOB.

fm_batchA

Execute multiple OData GET requests in a single HTTP call (batch). Use individual tools for write operations.

fm_create_test_recordA

Creates a test record with a test tag. tagField must be an existing text field in the FM table. Returns ROWID for later validation and cleanup.

fm_cleanup_test_dataB

Deletes all test records marked with a specific tag. tagField must be an existing text field in the FM table.

fm_assert_recordA

Validates that a FileMaker record contains the expected field values. Returns PASS/FAIL with diff.

fm_assert_countB

Checks whether a query returns the expected number of records. Useful for validating script results.

fm_run_script_and_assertB

Runs a FileMaker script and checks whether the result code matches the expected value.

fm_introspectA

Analyzes the database structure: lists tables or shows all fields of a table with native FM field types from $metadata.

fm_set_globalsA

Sets global fields via FileMaker Data API (not OData). Opens a Data API session, sets the globals, then closes the session. Keys must be fully qualified: 'Table::FieldName_g'.

fm_run_script_with_globalsA

Sets global fields and runs a script in the SAME Data API session. This makes scripts that depend on global fields for context work (e.g. SESSIONS::UUID_g). Flow: Login → Set Globals → Run Script → Logout.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JoergKoester/mcp-server-filemaker'

If you have feedback or need assistance with the MCP directory API, please join our Discord server