Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
APPSMITH_URLYesThe URL of the Appsmith instance
APPSMITH_PASSWORDYesThe Appsmith password
APPSMITH_USERNAMEYesThe Appsmith username
APPSMITH_MCP_MAX_CHARSNoMaximum number of characters for large payloads (page DSLs, exports). Payloads are truncated at this limit.
APPSMITH_MCP_ALLOW_DESTRUCTIVENoSet to 'true' to allow destructive operations such as delete application and non-GET appsmith_api_request calls

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
appsmith_whoamiA

Returns the authenticated Appsmith user and instance info. Use this first to confirm the MCP server can reach and log into the instance.

appsmith_list_workspacesA

Lists the workspaces the authenticated user can access, with their ids.

appsmith_list_applicationsA

Lists Appsmith applications, optionally filtered to one workspace. Returns app ids needed by the other tools.

appsmith_list_pagesC

Lists the pages of an application, with page ids and which page is the default.

appsmith_get_pageA

Returns a page. By default returns a widget outline (name, type, id) which is compact; set full=true for the raw layout DSL, which can be very large.

appsmith_list_queriesB

Lists the non-JS actions (database queries and API calls) of an application, including their datasource and current body.

appsmith_list_js_objectsB

Lists the JS objects (action collections) of an application and their function names.

appsmith_list_datasourcesC

Lists datasources in a workspace, with the plugin each one uses.

appsmith_get_datasource_structureB

Returns the introspected schema (tables, columns, keys) of a datasource.

appsmith_list_pluginsA

Lists available Appsmith plugins (Postgres, REST API, MongoDB, ...) and their ids.

appsmith_search_entitiesB

Searches applications and workspaces by keyword.

appsmith_export_applicationA

Exports an application as JSON. Writes to outputPath when given (recommended — exports are large); otherwise returns the JSON inline, truncated.

appsmith_create_workspaceC

Creates a new Appsmith workspace.

appsmith_create_applicationB

Creates an application inside a workspace.

appsmith_create_pageB

Creates a page in an application, with the same empty root canvas the editor creates.

appsmith_update_queryA

Edits an existing query or API action. Only the fields you pass are changed — the server merges the rest, so the datasource and untouched settings are preserved. Does not rename: renaming needs a refactor that rewrites bindings across the app.

appsmith_create_queryB

Creates a query on a page against an existing datasource. The plugin and workspace are taken from the datasource.

appsmith_delete_queryA

Deletes a query or API action. Disabled unless APPSMITH_MCP_ALLOW_DESTRUCTIVE=true is set in the server env.

appsmith_create_js_objectA

Creates a JS object from its source. The exported functions are parsed out of the body — Appsmith stores each one separately, and the source alone would produce an object with no callable functions.

appsmith_update_js_objectA

Replaces a JS object's source. Functions are parsed from the new body and diffed against the current ones, so added, changed and removed functions are all applied — a plain body write would leave deleted functions behind.

appsmith_delete_js_objectA

Deletes a JS object and all its functions. Check for references first — nothing rewrites bindings that point at it. Disabled unless APPSMITH_MCP_ALLOW_DESTRUCTIVE=true is set in the server env.

appsmith_get_widgetA

Returns one widget's properties from a page, without dumping the whole layout. Use this to see current values before editing.

appsmith_update_widgetA

Sets properties on a widget, e.g. {"isDisabled": "{{ appsmith.store.modo === "edicion" }}"}. Binding registration is handled automatically: a value containing {{ }} is added to the widget's dynamicBindingPathList, and a literal value is removed from it. Property names may be dot paths for nested config. Other widgets on the page are left untouched.

appsmith_clone_widgetA

Copies an existing widget (and everything inside it) into the same page under a new name, then applies any property overrides. This is how to add a widget: Appsmith's widget defaults live in its frontend, not its API, so copying a real widget of the wanted type is what produces a valid one. The copy lands below its siblings. Bindings inside the copy are carried over as-is, so any that named the source widget still point at the original — the response lists what was renamed so they can be fixed.

appsmith_generate_crud_pageA

Runs Appsmith's own page generator: builds a page with a table, a form and the wired-up queries from one datasource table. This is the supported way to create a complete, detailed screen — the layout comes from Appsmith rather than being assembled by hand.

appsmith_execute_queryB

Executes an existing query/API by its action id and returns the result. This runs against the real datasource — a write query will write.

appsmith_publish_applicationA

Deploys the current edit-mode state of an application, making it live for viewers.

appsmith_clone_applicationA

Clones an application within its workspace. Useful as a backup before risky edits.

appsmith_delete_applicationA

Permanently deletes an application. Disabled unless APPSMITH_MCP_ALLOW_DESTRUCTIVE=true is set in the server env.

appsmith_api_requestA

Calls any Appsmith REST endpoint directly, for things the typed tools do not cover. GET is always allowed; other methods require APPSMITH_MCP_ALLOW_DESTRUCTIVE=true.

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/Davidgraciano/appsmith-mcp'

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