Ruddur MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RUDDUR_API_BASE | No | Base URL for the Ruddur API. | https://ruddur.com |
| RUDDUR_MCP_ENV_FILE | No | Path to an environment file (.env) to load for local development. | |
| RUDDUR_CREATOR_SCOPES | No | Optional comma-separated list of scopes to advertise. If absent, all allowlisted creator tools are advertised. | |
| RUDDUR_CREATOR_API_TOKEN | Yes | Your Ruddur creator API token. Required for local stdio development. | |
| RUDDUR_MCP_ALLOW_MUTATIONS | No | Set to 'false' to run read-only (mutation tools disabled). Defaults to 'true'. | true |
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 |
|---|---|
| ruddur_list_headingsA | List creator-owned Headings. Requires scope: content.read. |
| ruddur_create_headingA | Create or import a creator-owned Heading. Omit assessmentConfig for ordinary waypoints; include it only for explicit assessment-style waypoints. The MCP server maps creatorAssessmentConfig to assessmentConfig when provided. Requires scope: content.manage. |
| ruddur_get_headingA | Get a creator-owned Heading by id. Requires scope: content.read. |
| ruddur_update_headingB | Update a Heading, cover asset, or canvas style. Requires scope: content.manage. |
| ruddur_delete_headingA | Delete a creator-owned Heading. Requires scope: content.manage. |
| ruddur_search_headingsA | Search creator-owned Headings using query parameter q. Requires scope: content.read. |
| ruddur_create_heading_snapshotB | Create a named Heading snapshot. Requires scope: content.manage. |
| ruddur_list_heading_snapshotsA | List snapshots for a Heading. Requires scope: content.read. |
| ruddur_restore_heading_snapshotA | Restore a Heading snapshot. Requires scope: content.manage. |
| ruddur_create_heading_templateA | Create a reusable template from a Heading. Requires scope: content.manage. |
| ruddur_list_heading_templatesA | List creator Heading templates. Requires scope: content.read. |
| ruddur_apply_heading_templateA | Create a Heading from a template. Requires scope: content.manage. |
| ruddur_export_headingA | Export a Heading as JSON. Requires scope: content.read. |
| ruddur_import_headingsA | Import one or more Headings from JSON. Omit assessmentConfig for ordinary waypoints; include it only for explicit assessment-style waypoints. The MCP server maps creatorAssessmentConfig to assessmentConfig when provided. Requires scope: content.manage. |
| ruddur_update_heading_tagsA | Replace the tags on a Heading. Requires scope: content.manage. |
| ruddur_create_waypoint_noteA | Create a note on a Heading Waypoint. Requires scope: content.manage. |
| ruddur_list_waypoint_notesA | List notes on a Heading Waypoint. Requires scope: content.read. |
| ruddur_update_waypoint_noteB | Update a Waypoint note. Requires scope: content.manage. |
| ruddur_delete_waypoint_noteA | Delete a Waypoint note. Requires scope: content.manage. |
| ruddur_list_heading_collaboratorsA | List collaborators on a Heading. Requires scope: content.read. |
| ruddur_add_heading_collaboratorA | Add a collaborator to a Heading. The MCP server accepts collaborator aliases such as userId, collaboratorId, permission, access, and accessLevel. Requires scope: content.manage. |
| ruddur_update_heading_collaboratorA | Update a Heading collaborator role. The MCP server accepts collaborator aliases such as userId, collaboratorId, permission, access, and accessLevel. Requires scope: content.manage. |
| ruddur_remove_heading_collaboratorA | Remove a Heading collaborator. Requires scope: content.manage. |
| ruddur_clone_headingA | Clone a creator-owned Heading. Requires scope: content.manage. |
| ruddur_update_heading_statusB | Update a Heading lifecycle status. Requires scope: content.manage. |
| ruddur_list_waypointsA | List creator-owned Waypoints. Requires scope: content.read. |
| ruddur_create_waypointA | Create a creator-owned Waypoint. Omit assessmentConfig for ordinary waypoints; include it only for explicit assessment-style waypoints. The MCP server maps creatorAssessmentConfig to assessmentConfig when provided. Requires scope: content.manage. |
| ruddur_update_waypointA | Update a creator-owned Waypoint. Omit assessmentConfig for ordinary waypoints; include it only for explicit assessment-style waypoints. The MCP server maps creatorAssessmentConfig to assessmentConfig when provided. Requires scope: content.manage. |
| ruddur_delete_waypointA | Delete a creator-owned Waypoint. Requires scope: content.manage. |
| ruddur_attach_waypointB | Attach a Waypoint to a Heading. The MCP server accepts placement aliases such as heading, index, state, and sortOrder. Requires scope: content.manage. |
| ruddur_update_waypoint_placementA | Update a Waypoint placement. The MCP server accepts placement aliases such as heading, index, state, and sortOrder. Requires scope: content.manage. |
| ruddur_delete_waypoint_placementA | Delete a Waypoint placement. Requires scope: content.manage. |
| ruddur_create_media_uploadA | Create a presigned creator-media upload. The MCP server accepts media aliases such as title/name, mimeType/contentType, size/fileSize, and heading/waypoint/listing identifiers. Requires scope: media.manage. |
| ruddur_list_media_assetsA | List creator media assets. Requires scope: media.read. |
| ruddur_update_media_assetA | Update creator media metadata. The MCP server accepts media aliases such as title/name, mimeType/contentType, size/fileSize, and heading/waypoint/listing identifiers. Requires scope: media.manage. |
| ruddur_delete_media_assetA | Delete a creator media asset. Requires scope: media.manage. |
| ruddur_attach_media_assetA | Attach a media asset to Ruddur content. The MCP server accepts media aliases such as title/name, mimeType/contentType, size/fileSize, and heading/waypoint/listing identifiers. Requires scope: media.manage. |
| ruddur_detach_media_assetA | Detach a media asset from Ruddur content. The MCP server accepts media aliases such as title/name, mimeType/contentType, size/fileSize, and heading/waypoint/listing identifiers. Requires scope: media.manage. |
| ruddur_create_media_transformB | Create or register a media transform. The MCP server accepts media aliases such as title/name, mimeType/contentType, size/fileSize, and heading/waypoint/listing identifiers. Requires scope: media.manage. |
| ruddur_record_creator_eventA | Record a creator analytics event. The MCP server accepts event/type/name as aliases for eventType and timestamp/time/createdAt as aliases for occurredAt. Requires scope: events.write. |
| ruddur_get_creator_analyticsA | Get creator analytics summary. Requires scope: analytics.read. |
| ruddur_get_creator_billingB | Get creator billing summary. Requires scope: billing.read. |
| ruddur_list_my_marketplace_listingsB | List marketplace listings owned by the creator. Requires one of scope: marketplace.read, marketplace.manage. |
| ruddur_create_marketplace_listingA | Create a marketplace listing. The MCP server accepts natural marketplace payloads, including marketplace details, title/name aliases, comma-separated tags, lowercase status/currency, and top-level waypoints converted into a heading payload. Ordinary waypoints should not include assessmentConfig. Keep marketplace descriptions outcome-focused and buyer-facing. Do not add question-format, free-text, PII/data-handling, or generic educational/non-diagnostic boilerplate unless explicitly requested or specifically required; place necessary disclosures in a dedicated assessment introduction, help, or consent surface when available. Requires scope: marketplace.manage. |
| ruddur_update_marketplace_listingA | Update or publish a marketplace listing. The MCP server accepts natural marketplace payloads, including marketplace details, title/name aliases, comma-separated tags, lowercase status/currency, and top-level waypoints converted into a heading payload. Ordinary waypoints should not include assessmentConfig. Keep marketplace descriptions outcome-focused and buyer-facing. Do not add question-format, free-text, PII/data-handling, or generic educational/non-diagnostic boilerplate unless explicitly requested or specifically required; place necessary disclosures in a dedicated assessment introduction, help, or consent surface when available. Requires scope: marketplace.manage. |
| ruddur_delete_marketplace_listingA | Delete a marketplace listing. Requires scope: marketplace.manage. |
| ruddur_get_creator_profileA | Get the authenticated creator profile. Requires one of scope: marketplace.read, marketplace.manage. |
| ruddur_update_creator_profileA | Create or update the authenticated creator profile. The MCP server accepts name, creatorName, or title as aliases for displayName. Requires scope: marketplace.manage. |
| ruddur_list_couponsB | List creator marketplace coupons. Requires one of scope: marketplace.read, marketplace.manage. |
| ruddur_create_couponA | Create a marketplace coupon. The MCP server accepts coupon aliases such as promoCode, percentOff, amountOff, expires, usageLimit, and marketplaceListingId. Requires scope: marketplace.manage. |
| ruddur_update_couponA | Update a marketplace coupon. The MCP server accepts coupon aliases such as promoCode, percentOff, amountOff, expires, usageLimit, and marketplaceListingId. Requires scope: marketplace.manage. |
| ruddur_verify_entitlementA | Verify a user's entitlement to a creator listing. The MCP server accepts marketplaceListingId and customerUserId aliases. Requires one of scope: marketplace.entitlements, marketplace.manage. |
| ruddur_get_marketplace_licenseB | Get creator license details for a purchase. Requires one of scope: marketplace.entitlements, marketplace.manage. |
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 53 tools
Most tools have a clear resource+action mapping (headings, waypoints, media, marketplace). A few close pairs like attach_waypoint vs update_waypoint_placement and create/import/apply_template/clone for headings could cause confusion, but the descriptions help distinguish them.
Every tool uses the consistent ruddur_verb_noun pattern with snake_case. The only minor deviation is list_my_marketplace_listings, which includes an extra 'my' but remains readable and predictable.
53 tools is far beyond the typical 3-15 range and even exceeds the 25+ threshold. While the broad scope (content, media, marketplace, billing) explains the count, the sheer number makes the server heavy and likely overwhelming for agents.
The tool surface covers CRUD for most resources (headings, waypoints, media, marketplace listings) plus snapshots, templates, collaborators, notes, coupons, and entitlements. However, there are no direct getters for waypoints, media assets, or marketplace listings, and coupons lack a delete operation.