RedStudio MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REDSTUDIO_API_KEY | Yes | Your RedStudio API key. Create it in the dashboard under API Keys and tick "Site builder access". The key only works for your site. | |
| REDSTUDIO_API_URL | No | Optional API base URL. Defaults to the production API (https://example.test/api/v1/external in the example). | https://redstudio.ie/api/v1/external |
| NODE_TLS_REJECT_UNAUTHORIZED | No | Set to 0 for a local server with a self-signed certificate. | 0 |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_siteB | Get site-wide settings: customer, public site URL, global CSS, head JS and rendering settings (GDPR popup, theme colours, robots.txt, maintenance mode, reCAPTCHA public key). |
| update_siteB | Update site-wide settings. Only provided fields change. global_css applies to every page; head_js is raw HTML injected into (use it for / tags such as fonts and analytics). |
| set_faviconB | Upload the site favicon (png, ico, svg, jpg, gif, webp; max 2MB) from a local path or URL. Replaces the previous one. |
| set_logoB | Upload the site logo image used by the CMS templates and email branding. Replaces the previous one. |
| list_pagesA | List the customer's pages (summary only, no html/css/js). Use get_page for content. |
| get_pageA | Get one page with full html, css and js. Pass either id or permalink. |
| create_pageA | Create a page. The permalink becomes the public URL path ("home" for the homepage) and must be unique; reserved paths like shop, post, events, donate are rejected. |
| update_pageA | Update a page. Only the fields you pass are changed; html, css and js are replaced wholesale when given. A revision is recorded. |
| delete_pageB | Soft-delete a page by id. |
| list_componentsA | List the customer's components (summary only, no html/css/js). Use get_component for content. |
| get_componentA | Get one component with full html, css and js. Pass either id or permalink. |
| create_componentB | Create a component. Components are site-wide parts (navigation, footer, signature) or reusable blocks. |
| update_componentA | Update a component. Only the fields you pass are changed; html, css and js are replaced wholesale when given. A revision is recorded. |
| delete_componentB | Soft-delete a component by id. |
| list_redirectsA | List path redirects (from_permalink -> to_permalink) for the site. |
| create_redirectA | Create or replace a redirect from one path to another. Checked before page lookup. http_code 301 (default) or 302. |
| delete_redirectC | Delete a redirect by id. |
| list_mediaA | List the customer media library (images, PDFs) with public URLs to use in page HTML. |
| upload_mediaA | Upload an image or PDF (jpg, png, gif, svg, webp, pdf; max 10MB) from a local file path or a remote URL. Returns the public URL to reference in HTML. |
| delete_mediaA | Delete a media item by id. Pages referencing its URL will show a broken asset. |
| get_booking_setupA | Get the booking block setup: timezone, notice period, how far ahead people can book, buffers, weekly hours per day, and meeting types. |
| update_booking_setupB | Update booking settings and weekly hours. availability maps a day (MONDAY..SUNDAY) to a list of ["HH:MM","HH:MM"] ranges; a day sent replaces that day, [] closes it, days not sent are unchanged. |
| create_meeting_typeC | Create a bookable meeting type shown in the booking block. |
| update_meeting_typeB | Update a meeting type; only provided fields change. Set enabled=false to hide it. |
| delete_meeting_typeA | Delete a meeting type with no bookings (otherwise disable it). |
| list_postsB | List blog posts (paginated, 15 per page). |
| get_postB | Get a single blog post by id. |
| create_postB | Create a blog post. Defaults to draft unless draft=false. |
| update_postB | Update a blog post. Only provided fields change; tags replace the full set. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 29 tools
Each tool maps to a distinct resource+action pairing (pages, posts, components, media, redirects, booking, meeting types, site). Even superficially similar tools like set_favicon, set_logo, and upload_media are clearly delineated by their descriptions (site asset vs. media library). An agent can reliably pick the right tool.
Uniform verb_noun snake_case pattern throughout: list_/get_/create_/update_/delete_ for CRUD resources and set_/upload_ for singleton assets. No mixing of conventions or casing styles.
29 tools is heavy, exceeding the comfortable 3-15 range. However the count is justified by broad legitimate scope (8 resource domains each needing multiple operations), and the surface is well-organized rather than padded. It leans over-provisioned but each tool roughly earns its place.
Pages, components, meeting types, and redirects have solid lifecycle coverage, and site/booking settings are get+update. Notable gaps: no delete_post (posts have no deletion path) and media lacks an update/rename operation, forcing workarounds.