이 MCP로 할 수 있는 일
Creates and hosts mock REST APIs with seeded data and custom routes, while supporting request inspection, snapshots, evaluations, and uptime monitoring.
도구
입력 스키마
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Resource name, plural (e.g. products).'}, 'seed': {'type': 'number', 'description': 'Records to seed (default 20, max 100).'}, 'fields': {'type': 'array', 'items': {'type': 'object'}, 'description': "Array of {name, type} (or {name, type:'oneOf', values:[…]}). Optional."}, 'project': {'type': 'string', 'description': 'Project id. Omit (together with adminKey) to auto-create a fresh project.'}, 'adminKey': {'type': 'string', 'description': "The project's adminKey. Omit (together with project) to auto-create."}, 'template': {'type': 'string', 'description': 'Built-in template name. Optional (use this OR fields).'}}}
입력 스키마
{'type': 'object', 'properties': {'service': {'type': 'string', 'description': 'Service id, name, or hostname substring (e.g. httpbin, reqres.in). Optional — omit for the summary.'}}}
입력 스키마
{'type': 'object', 'properties': {'ttl': {'type': 'number', 'description': 'Optional: self-expiring project — auto-deletes after this many seconds (60–604800, i.e. 1 min to 7 days). Perfect for CI/eval sandboxes that must not leak even when the run crashes. Extend or cancel later via HTTP: PUT /api/projects/:id/settings {"ttl": seconds | null}.'}, 'name': {'type': 'string', 'description': 'Project name (max 60 chars). Optional.'}, 'preset': {'enum': ['blog', 'ecommerce', 'saas', 'payments', 'openai', 'blank'], 'type': 'string', 'description': "Seeded preset; 'blank' = truly empty. Omit for a starter project. Optional."}}}
입력 스키마
{'type': 'object', 'required': ['project', 'adminKey', 'path'], 'properties': {'body': {'type': 'string', 'description': 'Response body template (string; JSON works).'}, 'path': {'type': 'string', 'description': 'e.g. /health, /config/:key, /webhooks/*'}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'ANY'], 'type': 'string', 'description': 'Default GET.'}, 'status': {'type': 'number', 'description': 'Response status (default 200).'}, 'delayMs': {'type': 'number', 'description': 'Artificial latency in ms.'}, 'project': {'type': 'string'}, 'adminKey': {'type': 'string'}, 'contentType': {'type': 'string', 'description': 'Default application/json.'}}}
입력 스키마
{'type': 'object', 'required': ['project', 'adminKey'], 'properties': {'project': {'type': 'string', 'description': 'Project id.'}, 'adminKey': {'type': 'string', 'description': "The project's adminKey."}}}
입력 스키마
{'type': 'object', 'required': ['project'], 'properties': {'ttl': {'type': 'number', 'description': 'Self-expiring fork: auto-deletes after this many seconds (60–604800), even if your run crashes. Optional.'}, 'name': {'type': 'string', 'description': 'Name for the fork (default: <source name>-fork). Optional.'}, 'project': {'type': 'string', 'description': 'Source project id to fork (or "demo").'}, 'adminKey': {'type': 'string', 'description': 'Source project\'s adminKey. Not needed when forking "demo".'}, 'withSnapshots': {'type': 'boolean', 'description': "Also copy the source's snapshots into the fork (answer keys travel with it). Optional."}}}
입력 스키마
{'type': 'object', 'properties': {'seed': {'type': 'number', 'description': 'Deterministic seed — same seed returns the same rows. Optional.'}, 'fields': {'type': 'object', 'description': 'Custom shape: {outputKey: type}, e.g. {"id":"counter","name":"firstName","mail":"email","signup":"dateTime"}. Optional.'}, 'params': {'type': 'object', 'description': 'Extra FakerAPI-compatible query params, e.g. {"_gender":"female"}, {"_price_min":10,"_price_max":500}, {"_characters":500}, {"_width":640}. Optional.'}, 'quantity': {'type': 'number', 'description': 'Rows to generate (1-100, default 5).'}, 'resource': {'type': 'string', 'description': 'One of persons|users|addresses|companies|books|products|texts|images|places|credit_cards. Default persons. Ignored when fields is set.'}}}
입력 스키마
{'type': 'object', 'required': ['action'], 'properties': {'id': {'type': 'string', 'description': 'poll/info/delete: the heartbeat id (hb-…) returned by create.'}, 'name': {'type': 'string', 'description': 'create: a label for the job (shown on the status page), e.g. "nightly backup".'}, 'action': {'enum': ['create', 'ping', 'poll', 'info', 'delete'], 'type': 'string', 'description': 'What to do.'}, 'notify': {'type': 'string', 'description': 'create (optional): the webhook URL to alert when the ping stops. Omit it to get a pollable heartbeat instead.'}, 'secret': {'type': 'string', 'description': 'poll/info/delete: the secret returned by create.'}, 'ping_url': {'type': 'string', 'description': 'ping: the ping URL returned by create (https://…/ping/p-…).'}, 'grace_minutes': {'type': 'number', 'description': 'create: extra slack before alerting (5–1440). Default: half the period.'}, 'period_minutes': {'type': 'number', 'description': 'create: how often the job is supposed to run, in minutes (30–10080).'}}}
입력 스키마
{'type': 'object', 'required': ['kind'], 'properties': {'kind': {'enum': ['badge', 'chart', 'qr', 'og', 'placeholder', 'avatar'], 'type': 'string', 'description': 'Which image to mint.'}, 'size': {'type': 'string', 'description': 'Optional size path: "WxH" for chart/og/placeholder (e.g. "800x400"), a single number for qr (e.g. "512") or a square placeholder.'}, 'format': {'enum': ['png', 'svg'], 'type': 'string', 'description': 'Optional. badge is always SVG; chart/qr/og/placeholder default to PNG (og/chart/qr) or SVG (placeholder/avatar) — svg forces the vector twin.'}, 'params': {'type': 'object', 'description': 'Query params for the endpoint (see the per-kind lists in the tool description). Values are strings or numbers (arrays of numbers join with commas). Passing these directly as top-level properties (e.g. {"kind":"badge","label":"build","value":"passing"}) works too.'}, 'project': {'type': 'string', 'description': 'Optional project id (default "demo", the shared public playground). Use your own project id so live badge counts track your data.'}}}
입력 스키마
{'type': 'object', 'required': ['content'], 'properties': {'ttl': {'type': 'number', 'description': 'Optional: self-expiring project — auto-deletes after this many seconds (60–604800). Sandboxes for CI/eval runs clean themselves up.'}, 'name': {'type': 'string', 'description': 'Project name override. Optional.'}, 'seed': {'type': 'number', 'description': 'Records to seed per resource for OpenAPI specs (default 20, max 100).'}, 'content': {'type': 'string', 'description': 'The raw spec / db.json / collection / CSV text.'}, 'resource': {'type': 'string', 'description': 'CSV only: collection name (default items).'}}}
입력 스키마
{'type': 'object', 'required': ['project'], 'properties': {'path': {'type': 'string', 'description': 'Filter: segment-aware path prefix ("/tasks" matches /tasks and /tasks/5, not /tasksomething).'}, 'limit': {'type': 'number', 'description': 'Newest N entries to return (default 20, max 50).'}, 'since': {'type': 'string', 'description': 'Filter: only requests at/after this time (epoch ms or ISO-8601) — record the episode start, assert about only that episode.'}, 'method': {'type': 'string', 'description': 'Filter: HTTP method, comma-list ok (e.g. "DELETE" or "PUT,PATCH,DELETE").'}, 'status': {'type': 'number', 'description': 'Filter: exact response status (comma-list ok as a string via status_gte/lte for ranges).'}, 'project': {'type': 'string', 'description': 'Project id.'}, 'adminKey': {'type': 'string', 'description': 'Project adminKey (not needed for demo).'}, 'status_gte': {'type': 'number', 'description': 'Filter: status >= this (400 = any error).'}, 'status_lte': {'type': 'number', 'description': 'Filter: status <= this.'}}}
입력 스키마
{'type': 'object', 'required': ['project'], 'properties': {'project': {'type': 'string', 'description': 'Project id (e.g. demo).'}}}
입력 스키마
{'type': 'object', 'required': ['project', 'resource'], 'properties': {'id': {'type': 'string', 'description': 'Single record id. Optional.'}, 'params': {'type': 'object', 'description': 'Query params as key→value. Optional.'}, 'project': {'type': 'string'}, 'resource': {'type': 'string', 'description': 'Resource name (e.g. products).'}}}
입력 스키마
{'type': 'object', 'required': ['project', 'adminKey'], 'properties': {'action': {'enum': ['create', 'rotate', 'revoke', 'status'], 'type': 'string', 'description': 'Default: create.'}, 'project': {'type': 'string', 'description': 'Project id.'}, 'adminKey': {'type': 'string', 'description': "The project's adminKey."}}}
입력 스키마
{'type': 'object', 'required': ['project', 'adminKey', 'action'], 'properties': {'data': {'type': 'object', 'description': 'save only, optional: AUTHOR the snapshot inline instead of capturing live state — {"tasks":[{...records...}],"labels":[]} (records verbatim, ids preserved, [] = expected-empty, new resource names allowed). Author an eval answer key, then grade with the diff endpoint.'}, 'name': {'type': 'string', 'description': 'Snapshot name (required for restore/delete/diff; default for save: snapshot-<n>).'}, 'action': {'enum': ['save', 'list', 'restore', 'delete', 'diff'], 'type': 'string'}, 'ignore': {'type': 'string', 'description': 'diff only, optional: comma-separated field names excluded from comparison (volatile timestamps etc.), e.g. "updatedAt,id".'}, 'against': {'type': 'string', 'description': 'diff only, optional: compare the named snapshot against THIS other snapshot instead of live data.'}, 'project': {'type': 'string'}, 'adminKey': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'required': ['action'], 'properties': {'id': {'type': 'string', 'description': 'poll/info/delete: the monitor id (mon-…) returned by create.'}, 'url': {'type': 'string', 'description': 'create: the public https URL to watch (e.g. https://api.example.com/health).'}, 'action': {'enum': ['create', 'poll', 'info', 'delete'], 'type': 'string', 'description': 'What to do.'}, 'notify': {'type': 'string', 'description': 'create (optional): the webhook URL to alert (Slack/Discord webhook, or any HTTPS endpoint — gets HMAC-signed JSON). Omit it to get a pollable monitor instead.'}, 'secret': {'type': 'string', 'description': 'poll/info/delete: the secret returned by create.'}}}
입력 스키마
{'type': 'object', 'required': ['project', 'adminKey'], 'properties': {'name': {'type': 'string', 'description': 'Optional: run a saved verdict spec by name instead of an inline spec (mutually exclusive with snapshot/ignore/trajectory).'}, 'ignore': {'type': 'string', 'description': 'Optional (with snapshot): comma-separated field names excluded from the state comparison, e.g. "updatedAt,createdAt".'}, 'project': {'type': 'string', 'description': 'Project id.'}, 'adminKey': {'type': 'string', 'description': "The project's adminKey."}, 'snapshot': {'type': 'string', 'description': 'Optional: snapshot name to diff live data against — pass means identical.'}, 'trajectory': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Optional: constraint objects — filters (method comma-list, path segment-prefix, status, status_gte, status_lte, since) + expectation (count exact, min, max). Example: [{"method":"DELETE","count":0}].'}}}
입력 스키마
{'type': 'object', 'required': ['action'], 'properties': {'id': {'type': 'string', 'description': 'poll/info/unsubscribe: the watch id (w…) returned by subscribe.'}, 'action': {'enum': ['subscribe', 'poll', 'info', 'unsubscribe'], 'type': 'string', 'description': 'What to do.'}, 'notify': {'type': 'string', 'description': 'subscribe (optional): webhook URL to alert (Slack/Discord webhook, or any HTTPS endpoint — gets HMAC-signed JSON). Omit it to get a pollable subscription instead.'}, 'secret': {'type': 'string', 'description': 'poll/info/unsubscribe: the secret returned by subscribe.'}, 'service': {'type': 'string', 'description': 'subscribe: service id from check_api_status (e.g. "reqres", "httpbin"), or "*" for all tracked services.'}}}
입력 스키마
{'type': 'object', 'required': ['project', 'resource', 'method'], 'properties': {'id': {'type': 'string', 'description': 'Record id (PUT/PATCH/DELETE).'}, 'body': {'type': 'object', 'description': 'Record fields (POST/PUT/PATCH).'}, 'method': {'enum': ['POST', 'PUT', 'PATCH', 'DELETE'], 'type': 'string'}, 'project': {'type': 'string'}, 'resource': {'type': 'string'}}}
최근 도구 변경
유사한 MCP 서버
shiply
Publishes and manages web applications with SQL databases, serverless functions, domains, email tests, client intake, contracts, …
Fine Structure
Builds and hosts full-stack applications from prompts and supports agent communication through WhatsApp and email.
mcp
Provisions and manages cloud instances, networks, storage, databases, backups, VPNs, application deployments, and autocoding-agen…
EchoRelay
Manages a hosted API relay runtime, including projects, endpoints, credentials, publishing, keys, delivery logs, and dead-letter …
Supero
Builds, validates, publishes, tests, and deploys multi-tenant applications with schemas, CRUD operations, external data connector…
Replicate
Provides access to Replicate models, versions, collections, hardware, predictions, and deployments for running and managing hoste…
Relin
Configures webhook sources and destinations, monitors delivery health, investigates failures, manages retries, and replays events.
Scalix Cloud
Provides managed databases, SQL tools, container builds, persistent Linux machines, domains, scheduled functions, storage, and pr…