MCP Items Reference

This page provides a comprehensive reference for all available MCP (Model Context Protocol) items in the Formulize system. The items listed below are automatically extracted from the codebase and updated whenever new items are added.

Summary


Available Tools

Tools are functions that AI assistants can call to perform actions in Formulize.

Standard Tools (14)

These tools are available to all authenticated users:

list_forms

List all forms in this Formulize instance

list_applications

List all the applications and the forms that are part of each one.

list_form_connections

List all the connections between forms, which can explain how forms are related to one another. Connection are based pairs of elements, one in each form, that have matching values. Entries in the forms are connected when they have the same value in the paired elements, or when one element is ‘linked’ to the other, in which case the values in the linked element will be entry_ids in the other form (foreign keys).

list_screens

List all the screens for all forms.

list_users

List all the users in the system.

get_form_details

Get detailed information about a specific form, including its elements, screens, and connections to other forms. You can get a list of all the forms and their IDs with the list_forms tool.

get_screen_details

Get detailed information about a specific screen. Lookup screens by their ID number, also known as ‘sid’

create_entry

Create a new entry in a Formulize form. Returns success status and new entry ID. Formulize may automatically add default values for required elements, if they have default values defined. Do not be concerned about required elements unless this tool returns an error saying that required elements are missing.

update_entry

Update an existing entry in a Formulize form.

get_entries_from_form

Retrieve entries from a form with optional filtering, sorting, and pagination. Supports both simple entry ID lookup and complex multi-condition filtering. Returns data in a structured format suitable for analysis or display.

prepare_database_values_for_human_readability

Convert database values to human-readable format. Essential for linked elements (foreign keys), checkboxes, and select lists where raw database values are IDs or codes rather than display text.

test_connection

Test the MCP server connection and database access

cache_stats

The local MCP server caches information to reduce network traffic and the load on the Formulize system. Use this tool to see the status of the cache.

cache_refresh

The local MCP server caches information to reduce network traffic and the load on the Formulize system. Use this tool to clear the cache.

Admin-Only Tools (2)

These tools are only available to webmaster users:

query_the_database_directly

Query the database with a SELECT statement. The database is MariaDB/MySQL and queries are written in SQL. If you don’t know the database schema for the form, use the get_form_details tool to look up the form’s database table name, and the field names are the element handles.

read_system_activity_log

This Formulize system logs all activity. This tool will read up to the last 1000 lines from the activity log and return them as a array of JSON objects. There are several keys available in the objects, including microtime (a timestamp), user_id (the user who was active), request_id (which identifies log entries that were part of the same http request), session_id (which connects each request in a user’s session), formulize_event (which is a short descriptor of the activity), as well as form_id, screen_id, and entry_id.


Available Resources (10)

Resources provide read-only access to system information and data.

System Information

formulize://system/system_info.json
Formulize system info and status

List of Applications

formulize://system/applications_list.json
All the applications in the system. Applications are collections of forms that work together. A form can be part of one or more applications. Applications are purly for organizing forms, any form can still interact with any other form regardless of the application(s) they’re in.

List of Groups

formulize://system/groups_list.json
All the groups in the system. Groups are collections of users. Each group can have its own permissions to access a form, such as viewing the form, updating entries by other people in the same group, seeing entries by anyone in any group, etc.

List of Users

formulize://system/users_list.json
All the users in the system. Users are collected into groups. Users can be members of multiple groups. Permissions are assigned to groups, and users inherit all the permissions from all the groups they are a member of. Permissions include things like viewing a form, creating entries in a form, updating entries created by other people in the same group, seeing entries by anyone in any group, etc.

List of Forms

formulize://system/forms_list.json
All the forms in the system, and their elements, screens and connections to other forms. Forms are the main part of Formulize. Users enter data into forms, and can access data in forms that they or other users have entered. The interactions with forms and data is controlled by the permissions assigned to the groups, and users can be assigned to one or more groups.

List of Screens

formulize://system/screens_list.json
All the screens in the system. Screens are ways of presenting a form and its entries to users. Lists screens show the entries in the form, and have extensive configuration options to of entries are a type of screen. Versions of the form which users can fill in, are a type of form. , Connection are based pairs of elements, one in each form, that have matching values. Entries in the forms are connected when they have the same value in the paired elements, or when one element is ‘linked’ to the other, in which case the values in the linked element will be entry_ids in the other form (foreign keys).

List of Connections between Forms

formulize://system/form_connections_list.json
All the connections between forms. Connections are based pairs of elements, one in each form, that have matching values. Entries in the forms are connected when they have the same value in the paired elements, or when one element is ‘linked’ to the other, in which case the values in the linked element will be entry_ids in the other form (foreign keys).

Schema of {form_title} (x each form)

formulize://schemas/{form_title}_(form_{form_id}).json
Complete schema, element definitions, screens, and form connections (x each form).

Perms for all groups on {form title} (x each form)

formulize://permissions/group_perms_for_{form_title}"."_(form_{form_id}).json
All the permissions for all groups on a form (x each form).

Perms for {group_name} on all forms (x each group)

formulize://permissions/form_perms_for_{group_name}"."_(group_{group_id}).json
All the permissions for a group, on all forms (x each group).


Available Prompts

Prompts are pre-defined templates that can be used with AI assistants for common tasks.

Standard Prompts (2)

generate_a_report_about_a_form

Ask the AI to write a report about the data in a form.

Arguments:

look_up_data

Ask the AI to look up data in the system.

Arguments:

Admin-Only Prompts (1)

check_the_activity_logs

Ask the AI for a report on recent user activity

Arguments: