Tulip MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ENABLED_TOOLS | No | Comma-separated list of enabled tools. Can include individual tool names (e.g., listStations), security categories (read-only, write, admin), or resource types (table, machine, user, app, interface, station, station-group, utility). Default is read-only and table tools. | |
| TULIP_API_KEY | Yes | Your Tulip API key | |
| TULIP_BASE_URL | Yes | The URL you use to access Tulip (e.g., https://my-company.tulip.co) | |
| TULIP_API_SECRET | Yes | Your Tulip API secret | |
| TULIP_WORKSPACE_ID | No | Your workspace ID (found in your Tulip URL after /w/). Only required if using an Account API key from Account Settings. Leave empty if using a Workspace API key from Workspace Settings. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| countTableRecordsA | Counts records in a Tulip Table. Corresponds to GET /tables/{tableId}/count. Requires |
| getInterfaceA | Gets details about a specific interface. Corresponds to GET /api/stations/v1/interfaces/{interfaceId}. Requires |
| getStationA | Gets details about a specific station. Corresponds to GET /api/stations/v1/stations/{stationId}. Requires |
| getStationGroupA | Gets details about a specific station group. Corresponds to GET /api/stations/v1/station-groups/{stationGroupId}. Requires |
| getTableA | Gets details about a Tulip Table. Corresponds to GET /tables/{tableId}. Requires |
| getTableAggregationA | Looks up a table aggregation for a Tulip Table by id. Corresponds to GET /tables/{tableId}/aggregation/{aggregationId}. Requires |
| getTableLinkA | Fetches information about a table link. Corresponds to GET /tableLinks/{tableLinkId}. Requires |
| getTableQueryA | Looks up a table query for a Tulip Table by id. Corresponds to GET /tables/{tableId}/query/{queryId}. Requires |
| getTableRecordA | Gets a specific record from a Tulip Table. Corresponds to GET /tables/{tableId}/records/{recordId}. Requires |
| getUserA | Gets details about a specific user. Corresponds to GET /api/users/v1/users/{userId}. Requires |
| getUserGroupA | Gets details about a specific user group. Corresponds to GET /api/users/v1/user-groups/{userGroupId}. Requires |
| getUserGroupUsersA | Gets users in a specific user group. Corresponds to GET /api/users/v1/user-groups/{userGroupId}/users. Requires |
| getUserRoleA | Gets details about a specific user role. Corresponds to GET /api/users/v1/roles/{userRoleId}. Requires |
| listAppGroupsA | Retrieves a list of all Tulip App Groups and their containing apps. Corresponds to GET /appGroups. Requires the |
| listInterfacesA | Gets a paginated, filtered, and sorted list of interfaces. Corresponds to GET /api/stations/v1/interfaces. Requires |
| listMachineTypesA | Retrieves a list of all Tulip machine types and their corresponding machines. Corresponds to GET /machines. Requires the |
| listStationAppAssignmentsA | Gets app assignments for a station. Corresponds to GET /api/stations/v1/stations/{stationId}/app-assignments. Requires |
| listStationGroupAppAssignmentsB | Gets app assignments for a station group. Corresponds to GET /api/stations/v1/station-groups/{stationGroupId}/app-assignments. Requires |
| listStationGroupsA | Gets a paginated, filtered, and sorted list of station groups. Corresponds to GET /api/stations/v1/station-groups. Requires |
| listStationsA | Gets a paginated, filtered, and sorted list of stations. Corresponds to GET /api/stations/v1/stations. Requires |
| listTableAggregationsA | Lists the aggregations for a Tulip Table. Corresponds to GET /tables/{tableId}/aggregations. Requires |
| listTableQueriesA | Lists queries for a Tulip Table. Corresponds to GET /tables/{tableId}/queries. Requires |
| listTableRecordsA | Lists records of a Tulip Table. Corresponds to GET /tables/{tableId}/records. Requires |
| listTablesA | Retrieves a list of all Tulip Tables. Corresponds to GET /tables. Requires |
| listUserGroupsA | Gets a list of user groups. Corresponds to GET /api/users/v1/user-groups. Requires |
| listUserRolesA | Gets a list of user roles. Corresponds to GET /api/users/v1/roles. Requires |
| listUserUserGroupsA | Returns an array of user group IDs that the user is currently a member of. Corresponds to GET /api/users/v1/users/{userId}/user-groups. Requires |
| listUsersA | Gets a list of users. Corresponds to GET /api/users/v1/users. Requires |
| retrieveMachineActivityArchiveA | Retrieves machine activity archive status. Corresponds to GET /machines/archive/csv/{jobID}. Requires |
| runTableAggregationB | Runs an aggregate function on a table field. Corresponds to GET /tables/{tableId}/runAggregation. Requires |
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tulip/tulip-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server