Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SpringRoll

REMOTE · SPRINGROLL.DEV

Register, deploy, review, and govern internal applications built with coding agents.

Available components

0 this week 91 Trust /100

Last scanned (18 hours ago)

Scores higher than 99% of remote servers

Reachable. Last reached 16 Oct 2026.

Category CI/CD and DevOps

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability71
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 7255 tokens (~315/item across 23 items; 21 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage87
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 60% of tool parameters carry a description.Partial
Tool Safety92
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 2 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "springroll.deploy.status" implies "deploy" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 10 Oct 26 0
    • Tool “springroll.connect.data_products” rewrote its description, which is the text the model reads security
  • 3 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • New tool “springroll.feedback.list” functional
    • New tool “springroll.feedback.submit” functional
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Sept 26 0
    • Schema quality: 6053 → 6785 ▼ functional
    • Schema quality: excellent → good functional
    • New tool “springroll.app.presentation.generate_icon” functional
    • New tool “springroll.app.presentation.get” functional
    • New tool “springroll.app.presentation.save” functional
    • New tool “springroll.app.presentation.upload” functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 23 Sept 26 0
    • Stability: 0.97 → pass security
    • “springroll.deploy” reworded the description of “placement” cosmetic
    • “springroll.placement.preview” reworded the description of “placement” cosmetic
  • 22 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 16 Oct 2026 · Probed https://springroll.dev/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=springroll.dev CN=YR2,O=Let's Encrypt,C=US 10 Oct 2026 8 Jan 2027 RSA 2048 SHA256-RSA 55c9c6451b0bace2fa009a26feea293cfd7
SANs: springroll.dev
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of springroll.dev. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
dev. present 60074 8 Verified
springroll.dev. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="SpringRoll", error="invalid_token", error_description="The bearer token is missing, expired, or revoked.", resource_metadata="https://springroll.dev/.well-known/oauth-protected-resource/api/mcp"

Bearer realm="SpringRoll", error="invalid_token", error_description="The bearer token is missing, expired, or revoked.", resource_metadata="https://springroll.dev/.well-known/oauth-protected-resource/api/mcp"
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=()

Protected resource metadata

Document https://springroll.dev/.well-known/oauth-protected-resource/api/mcp
Retrieved Yes
Resource https://springroll.dev/api/mcp
Authorisation server https://springroll.dev

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://springroll.dev/api/mcp Verified 200
http (plaintext) http://springroll.dev/api/mcp HTTPS enforced 308 https://springroll.dev/api/mcp
MCP tools · 21 exposed · ~5,913 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
springroll.app.get ~277

Returns an application's registry record: metadata, lifecycle stage, risk score, and whichever of the optional sections you ask for. No secrets are included. Sections, all returned by default: • `source`: repository or uploaded bundle, and `cannotBuildReason` when a deploy would be refused for want of a source • `history`: recent releases and deployments • `status`: each environment's current deployment, outstanding approvals, and usage. This answers "where is my app up to?" • `grants`: data access grants and dependencies Pass a narrower `include` when you only need part of it; each section costs a query.

NameTypeReqDescription
applicationstringyesApplication slug or id.
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
includearray–Sections to return. Defaults to all of them.

No output schema declared.

No examples provided.

springroll.app.list ~152

Lists applications in this organization, newest first. Use `search` to find one by name or slug.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
limitinteger––
searchstring––

No output schema declared.

No examples provided.

springroll.app.presentation.generate_icon ~195

Queue one premium icon draft from the app's reviewed purpose. Requests are limited and deduplicated. Artwork never blocks deployment or publishes itself.

NameTypeReqDescription
applicationstringyes–
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
idempotencyKeystringyesRequired. A stable, caller-generated key. Retrying with the same key returns the original result instead of creating a duplicate.
purposestringyes–

No output schema declared.

No examples provided.

springroll.app.presentation.get ~143

Read a private app listing draft and available artwork. Does not publish or expose the app.

NameTypeReqDescription
applicationstringyes–
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…

No output schema declared.

No examples provided.

springroll.app.presentation.save ~176

Save listing copy and selected image IDs to a private draft. Read the revision first. Use factual copy and real, reviewed screenshots. Only the owner or admin can publish in SpringRoll.

NameTypeReqDescription
applicationstringyes–
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
draftobjectyes–
revisionintegeryes–

No output schema declared.

No examples provided.

springroll.app.presentation.upload ~218

Upload a real screenshot or app icon as base64 PNG, JPEG, or WebP (8 MB maximum). Metadata is stripped. Images remain private until selected in an owner-published snapshot. Never upload confidential screen content.

NameTypeReqDescription
applicationstringyes–
base64stringyes–
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
idempotencyKeystringyesRequired. A stable, caller-generated key. Retrying with the same key returns the original result instead of creating a duplicate.
kindstringyes–

No output schema declared.

No examples provided.

springroll.app.record_prompts ~410

Attaches the conversation that produced this application to its record, as reference for whoever maintains it next and for the reviewer who has to approve it. Ask the user before calling this, every time. The transcript is STORED and is READABLE BY ANYONE who can see the application record. SpringRoll scrubs credentials it recognises before writing (agent tokens, cloud keys, private keys, connection strings, and assignment lines whose key looks like a secret), but that scrubbing is best-effort and cannot be complete. If the conversation contained a real secret, do not record it. Send turns in order. Keep `sessionKey` stable across calls for one build so they join up; retrying with the same key and turn indexes overwrites rather than duplicating.

NameTypeReqDescription
agentNamestring––
applicationstringyesApplication slug or id.
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
idempotencyKeystringyesRequired. A stable, caller-generated key. Retrying with the same key returns the original result instead of creating a duplicate.
inputTokensinteger––
modelNamestring––
outputTokensinteger––
releaseIdstring––
sessionKeystringyesStable identifier for this build conversation.
startTurnIndexinteger–Where this batch starts. Defaults to after the last recorded turn.
turnsarrayyesUp to 50 turns per call, in order.

No output schema declared.

No examples provided.

springroll.app.update ~216

Updates App Portal metadata: description, icon, tags, department, support contact, and data classification. Visibility is deliberately not editable here, because widening an audience requires an approval request (sec. 15.4).

NameTypeReqDescription
applicationstringyesApplication slug or id.
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
dataClassificationstring––
departmentstring––
descriptionstring––
iconUrlstring––
supportContactstring––
tagsarray––

No output schema declared.

No examples provided.

springroll.approval.get ~161

Returns an approval request with its assigned reviewers, decisions so far, and the policy snapshot taken at submission. Poll this to find out whether a release has been approved.

NameTypeReqDescription
approvalRequestIdstringyes–
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…

No output schema declared.

No examples provided.

springroll.approval.submit ~570

Submits an approval request of any supported type: UAT_PROMOTION, UAT_SIGN_OFF, PRODUCTION_PROMOTION, VISIBILITY_CHANGE, OWNERSHIP_TRANSFER, RETIREMENT, DOMAIN_CHANGE, or ROLLBACK. **An agent may submit but never decide**: SpringRoll requires a human approver, and an agent token cannot approve its own request. Confirm with the user before calling this. It creates review work for named people. Type-specific behaviour: • `PRODUCTION_PROMOTION`: this does NOT deploy. It asks. `releaseId` defaults to the application's latest release, and `targetEnvironmentType` to 'production'. Once approved, call springroll.deploy.promote. • `UAT_PROMOTION`: `targetEnvironmentType` is required, 'uat' (or 'development' where Development needs approval). An approval only unlocks the environment it names. • `UAT_SIGN_OFF`: `targetEnvironmentType` defaults to 'uat'. • `ROLLBACK`: `justification` and `targetEnvironmentType` (the environment to roll back) are required. Put the deployment to restore in `payload.targetDeploymentId`; it defaults to the last successful one. • `RETIREMENT`: `justification` is required. • Every other type takes no `targetEnvironmentType`.

NameTypeReqDescription
applicationstringyesApplication slug or id.
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
idempotencyKeystringyesRequired. A stable, caller-generated key. Retrying with the same key returns the original result instead of creating a duplicate.
justificationstring–Why this should happen. Shown to reviewers. Required for ROLLBACK and RETIREMENT, and at least 10 characters when required.
payloadobject–Type-specific detail, e.g. { visibility: 'TENANT' }, { newOwnerMembershipId: '…' }, or { targetDeploymentId: '…' } for a rollback.
releaseIdstring–Release this concerns. For PRODUCTION_PROMOTION, defaults to the latest release.
requestTypestringyes–
targetEnvironmentTypestring–Canonical environment class. SpringRoll promotes development -> uat -> production.

No output schema declared.

No examples provided.

springroll.connect.access_status ~182

Returns the status of a data access request: REQUESTED, APPROVED, REJECTED, REVOKED, or EXPIRED, with the fields actually approved. Approved fields are often narrower than requested, and a row filter may restrict which rows the application can see at all.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
grantIdstringyes–

No output schema declared.

No examples provided.

springroll.connect.data_products ~283

Without `dataProduct`, lists the governed data products this organization publishes: what each one holds, who owns it, and how sensitive it is. With `dataProduct`, returns that product's schema: its datasets, the available fields with their types and sensitivity, the business glossary its owner wrote, and what the underlying source can compute. Read this before requesting access, so you request the fields the application actually needs. Either way you learn the *kind* of system behind a product (so you know, for example, which query capabilities a source supports) but never a host, a credential, a table name, or a connection string. Request access with springroll.connect.request_access; a data owner must approve it.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
dataProductstring–Data product slug. Omit to list every product this organization publishes.

No output schema declared.

No examples provided.

springroll.connect.request_access ~300

Requests access to a data product for one environment, naming the exact fields the application needs. A data owner must approve, and may narrow the field list or add a row filter before doing so. Nothing is readable until then. You never receive a credential: an approved grant lets the deployed application ask questions through the SpringRoll Connect gateway, which enforces the grant on every request.

NameTypeReqDescription
applicationstringyesApplication slug or id.
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
dataProductstringyesData product slug from springroll.connect.data_products.
environmentTypestringyesCanonical environment class. SpringRoll promotes development -> uat -> production.
fieldsarrayyesQualified field names to request, as `dataset.field`. Ask for what the application actually reads, because a narrower request is approved faster and survives review.
purposestring–Why the application needs this data. Shown to the data owner.

No output schema declared.

No examples provided.

springroll.context ~173

Returns the organization, identity, and permissions this agent token acts as, together with the deployment runtimes configured for it. Call this first: it tells you which tenant you are in, what you are allowed to do, and whether a deployment can actually land. It never returns credentials.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…

No output schema declared.

No examples provided.

springroll.deploy ~897

Registers the project if it is new, attaches whatever source you give it, and deploys it using the application's Deployment workflow. Direct applications go to Production; Staged applications go to Development. Returns the live URL, or a deployment id to poll if the build is still running. **You do not decide whether this project needs git.** Send what you have and SpringRoll works it out: • a pushed git remote → pass `repositoryUrl` (and `ref` if not the default branch) • no remote, or uncommitted work → pass `archive`, a base64 tar+gzip of the source: tar --exclude=node_modules --exclude=.next --exclude=.git --exclude='.env*' \ -czf - . | base64 -w0 • both → SpringRoll builds from git, and falls back to your files if the ref cannot be resolved (an unpushed branch, typically) • neither, on an app that already exists → redeploys its current source Upload SOURCE, not build output: SpringRoll runs the build. node_modules, .next, dist, build, out, coverage and .log files are dropped automatically and reported. Every .env file and .git/ is REFUSED outright, naming the offending path: configuration belongs in SpringRoll, not in the bundle. Upload limits are about 3 MB compressed on the wire (a platform request-body cap, not a preference), 20 MB expanded, 2000 files, 512 KB per file; a project past them should pass `repositoryUrl` instead, which SpringRoll clones directly with no size limit. Sending the same files twice is free, because bundles are addressed by content. Direct to Production skips workflow approvals but keeps production safety checks. Staged applications continue to use explicit promotion and approvals.

NameTypeReqDescription
applicationstring–An existing app's slug or id. Omit on the first ship; `name` implies it.
archivestring–Base64 of a gzipped tar of the project source. Preferred over `files`.
buildCommandstring––
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
dataClassificationstring––
departmentstring––
descriptionstring––
filesobject–Path-to-contents map. Use `archive` for anything beyond a few files.
filesEncodingstring––
frameworkstring––
idempotencyKeystringyesRequired. A stable, caller-generated key. Retrying with the same key returns the original result instead of creating a duplicate.
installCommandstring––
manifeststring–A SpringRoll manifest. Supersedes the metadata fields below; the source fields still apply.
namestring––
outputDirectorystring––
placementobject–Optional, provider-neutral hints about what this application needs. SpringRoll chooses the provider and plan; these only inform that choice. Leave out anything you do not actually know: monthly billi…
preferSourcestring–Tie-breaker when both a repository and files are given. Defaults to git.
refstring–Branch, tag, or full commit SHA. Defaults to the app's default revision.
repositoryUrlstring––
rootDirectorystring––
slugstring––
supportContactstring–Team channel or email for users of this app. Required before production.
tagsarray––
waitSecondsinteger–How long to wait for the build before returning. Defaults to 20. A real build usually outlasts this; poll springroll.deploy.status after.

No output schema declared.

No examples provided.

springroll.deploy.promote ~253

Promotes a tested deployment into the next environment (development -> uat, uat -> production). Reuses the already-built artifact rather than rebuilding, so the bytes that were tested are the bytes that ship. Promotion into an environment that requires approval will be refused until the approval exists. For production, submit the request first.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
deploymentIdstringyesThe tested deployment to promote.
idempotencyKeystringyesRequired. A stable, caller-generated key. Retrying with the same key returns the original result instead of creating a duplicate.
targetEnvironmentTypestringyesCanonical environment class. SpringRoll promotes development -> uat -> production.

No output schema declared.

No examples provided.

springroll.deploy.status ~264

Returns a deployment's current status, refreshing it from the runtime provider when the build is still in progress. Statuses: QUEUED, VALIDATING, BUILDING, DEPLOYING, READY, FAILED, CANCELLED, SUPERSEDED, ROLLED_BACK. Poll this after deploying rather than assuming success. Pass `includeLogs` to get the normalised build and deploy log lines alongside the status. Do that once the status is FAILED, rather than guessing at the cause.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
deploymentIdstringyes–
includeLogsboolean–Include build and deploy log lines. Defaults to false.
logLimitinteger–How many log lines to return, counting from the end. Defaults to 200.

No output schema declared.

No examples provided.

springroll.feedback.list ~156

List only the authenticated member's SpringRoll feedback in the current organization, newest first. Use nextOffset for the next page.

NameTypeReqDescription
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
limitinteger––
offsetinteger––

No output schema declared.

No examples provided.

springroll.feedback.submit ~180

Submit a bug report, idea, or other feedback about SpringRoll on behalf of the authenticated member. Do not include credentials. Reuse the idempotency key when retrying the same submission.

NameTypeReqDescription
categorystringyes–
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
idempotencyKeystringyes–
messagestringyes–

No output schema declared.

No examples provided.

springroll.placement.preview ~409

Scores where SpringRoll would place this application and what it would cost, without deploying or writing anything. It shares its implementation with springroll.deploy, so the receipt it returns is what a deploy right now would decide: the provider and plan, the estimated monthly cost range, every limit the plan carries, what was inferred rather than declared, and why each other candidate lost. It works before any provider account is connected. The ranking is computed from the public catalog alone and credentials never affect it: connecting an account changes only whether a plan is deployable, never how it ranks. Each ranked alternative carries its readiness and the action that unlocks it, so you can tell the user both what is recommended and what would deploy today. Use it to put the cost and the limits in front of the user before deploying, or to ask what-if questions by varying the placement hints.

NameTypeReqDescription
applicationstringyesApplication slug or id.
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
environmentTypestring–Environment class to score for. Defaults to production, which is the strictest: plans published as unsuitable for production are excluded there.
placementobject–Optional, provider-neutral hints about what this application needs. SpringRoll chooses the provider and plan; these only inform that choice. Leave out anything you do not actually know: monthly billi…

No output schema declared.

No examples provided.

springroll.policy.check ~298

Reports which governance policies an application would pass or fail for an environment. Send `manifest` (YAML or JSON) to validate a document without creating anything. Call this before springroll.deploy to avoid a rejected submission. Read the `springroll://manifest/example` resource for the document's shape. Send `application` instead to explain why an existing application cannot deploy or promote to `environmentType`, with specific remediation for each failing rule. Call this when a deployment is rejected with POLICY_BLOCKED. Send exactly one of the two.

NameTypeReqDescription
applicationstring–An existing application to explain. Mutually exclusive with `manifest`.
contextstringyesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVE…
environmentTypestring–Environment to evaluate against. Defaults to production.
manifeststring–The manifest document, as YAML or JSON. Mutually exclusive with `application`.
releaseIdstring–Release to evaluate. Only meaningful with `application`.

No output schema declared.

No examples provided.

Install

How do I install the SpringRoll MCP server?

SpringRoll is a hosted endpoint at https://springroll.dev/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · springroll.dev

# add to Claude Code
claude mcp add --transport http springrolldev-springroll 'https://springroll.dev/api/mcp'
Common questions

What is the SpringRoll MCP server?

SpringRoll is an MCP server listed in the public MCP registry as io.github.springrolldev/springroll. Register, deploy, review, and govern internal applications built with coding agents. This page covers its hosted endpoint (https://springroll.dev/api/mcp).

Is the SpringRoll MCP server safe to use?

SpringRoll scores 91 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the SpringRoll MCP server expose?

SpringRoll exposes 21 tools: springroll.feedback.submit, springroll.feedback.list, springroll.context, springroll.deploy, springroll.deploy.status, and 16 more. Their descriptions and schemas cost roughly 5,913 tokens of context every time the server is loaded.

Does the SpringRoll MCP server require authentication?

Yes. SpringRoll asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the SpringRoll MCP server still maintained?

SpringRoll is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.