mcp-server-filemaker
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FM_HOST | Yes | FileMaker Server URL with protocol, e.g. https://fms.example.com | |
| FM_DEBUG | No | true to log full tool arguments to stderr | false |
| FM_DATABASE | Yes | Database name | |
| FM_PASSWORD | Yes | Password | |
| FM_USERNAME | Yes | API user (needs Extended Privilege fmodata) | |
| FM_TIMEOUT_MS | No | HTTP request timeout in milliseconds, default 15000 | 15000 |
| FM_RETRY_COUNT | No | Retry attempts on transient failures, default 2 | 2 |
| FM_ODATA_VERSION | No | OData version, default v4 | v4 |
| FM_DISABLED_TOOLS | No | Comma-separated tool names to disable |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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