rise-mcp
Registry code: a069f9645a59a4b3
This tool generates AI-powered training outlines and lists existing Articulate (Rise) courses.
- endpoint
- https://mcp.articulate.com/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is rise-mcp live?
- Yes — it answered the hub's last check (checked 7m ago). It answered 100% of checks over the last 30 days.
- Is rise-mcp free to use?
- Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
- What tools does rise-mcp have?
- 2 tools: generate_course_outline, list_courses.
- Is rise-mcp safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99.2%· all time 99.2%
last good check
of 2 tools
- degraded → live
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- used for
- generate course outline
- list courses
- search courses
- takes → gives
- text, data → data
- tools
- 1 reads1 changes data
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
list_courses reads auth-required 14h ago
List and search the user's Articulate courses. (Articulate courses are also known as Rise courses — treat "Rise" and "Articulate" as the same product.) **When to use:** When the user wants to find, browse, or filter their existing Articulate (Rise) courses — for example, finding courses by topic, seeing what was recently updated, or locating courses published within a time range. **What it does:** Returns the user's Articulate courses, sorted by last-updated date with the most recently updated first. Results are presented in a Markdown table with columns for `Course`, `Last updated`, and `Format`. Each course title is a clickable authoring link. Supports optional filtering by title search, last-updated date, and publication date. **Examples:** - "What courses do I have about compliance?" → use search: "compliance" - "What courses were updated in the last 2 weeks?" → use updatedSince with an ISO 8601 date string for 2 weeks ago - "What courses were published over a year ago?" → use publishedBefore with an ISO 8601 date string for 1 year ago - "Show me my courses" → call with no filters - "Show me my 5 most recent courses" → use limit: 5 **Pagination & large lists:** One call returns up to `limit` courses (default 64, max 2000). The response reports the range shown and the total match count (e.g. "Showing 1–64 of 287") and includes a `nextOffset` value when more courses remain. To show more, call this tool again with `offset` set to that `nextOffset`. Offsets do not retain query state, so repeat the same limit and filters unchanged on every continuation call. If you don't have the latest `nextOffset`, add the same `limit` to the zero-based start offset of the page you already showed. For example, with `limit: 5`, "Showing 6–8" started at `offset: 5`, so continue with `offset: 10` rather than starting over. When the total is large, offer to narrow the list with `search` or a date filter instead of paging through everything. Never show `offset`, `limit`, or describe pagination or tool mechanics to the user.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "limit": { "type": "integer", "maximum": 2000, "minimum": 1, "description": "Maximum number of courses to return in this call (1–2000). Defaults to 64. Repeat the same value on continuation calls so offset stays aligned." }, "offset": { "type": "integer", "maximum": 1000000, "minimum": 0, "description": "Continuation position for pagination. Use the `nextOffset` from the previous call and repeat the same limit, search, and date filters unchanged." }, "search": { "type": "string", "maxLength": 200, "description": "Text to match against course titles." }, "updatedSince": { "type": "string", "description": "ISO 8601 date string (e.g. 2025-06-05T00:00:00Z). Only return courses updated on or after this date." }, "publishedBefore": { "type": "string", "description": "ISO 8601 date string (e.g. 2025-06-05T00:00:00Z). Only return courses published before this date." } }, "additionalProperties": false }arguments 32 linesgenerate_course_outline changes data unknown never probed
Generate a new AI-generated training outline from a user-grounded design brief. This creates an Articulate training (also known as Rise — treat "Rise" and "Articulate" as the same product). "Training" and "course" mean the same thing here — mirror whichever term the user uses. **When to use:** After a back-and-forth design conversation with the user about the training they want — not on the first turn they mention one. **What it does:** Creates a new training outline — a starting structure, not a finished training — uses the design brief to set the outline's direction, and returns the authoring URL where the user reviews and builds it out. **Design the brief WITH the user before calling this tool.** Do not extract requirements by sending one wall-of-questions message. Have a real conversation: - Ask **1–2 questions at a time**, not all at once. - Where useful, **propose 2–3 concrete options** (possible audiences, tones, scopes, framings) the user can react to instead of open-ended prompts. Reacting is faster and more honest than free-form answering. - **Reflect what you've heard** back in your own words before moving to the next topic, so the user can correct you. - Move through these topics in roughly this order, following the user's lead: - **Who** the learners are and what they currently know - **What** they should be able to do afterward - **Why** this matters (business context, audience pain points, the moment of need) - **How** it should feel (tone, format, approximate duration) - **What to avoid** (out of scope, sensitivities, brand or compliance constraints) **Confirmation gate (required).** When you have enough to write a strong brief, **do not call this tool yet**. Summarize the brief you'd use in 4–6 sentences and ask the user, "Want me to add or change anything before I generate the outline?" Only call `generate_course_outline` after they confirm. **Anti-patterns to avoid:** - Firing a survey of every question at once. - Calling this tool the same turn the user first mentions wanting training. - Padding a thin user request to make the brief look substantive — use what the user actually gave you. - Inventing audiences, goals, or constraints the user did not supply.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "description" ], "properties": { "description": { "type": "string", "maxLength": 200000, "description": "A multi-paragraph training outline design brief grounded in the user's actual stated needs. Should describe who the learners are, what they should be able to do afterward, why this matters, and any tone, format, or scope constraints the user provided. Must be the product of a real design conversation with the user — not a topic label, one-line summary, or agent-invented filler." } }, "additionalProperties": false }arguments 15 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's ida069f9645a59a4b3.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/a069f9645a59a4b3/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/a069f9645a59a4b3?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.