vremly
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vremlyFind endpoints for listing my upcoming shoots"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Vremly MCP server
Gives an AI assistant access to the Vremly API over the Model Context Protocol — so it can look up your shoots, customers, media and invoices, and change them if you let it.
Full documentation: docs.vremly.com/guides/mcp
Install
Create an API key in the Vremly app under Settings → API Keys, then add this to your MCP host's config:
{
"mcpServers": {
"vremly": {
"command": "npx",
"args": ["-y", "github:RelayDigital/vremly-mcp"],
"env": {
"VREMLY_API_KEY": "your-api-key"
}
}
}
}For Claude Code, that goes in .mcp.json in your project, or run:
claude mcp add vremly --env VREMLY_API_KEY=your-api-key \
-- npx -y github:RelayDigital/vremly-mcpThere is nothing to clone or build — npx fetches the repo and compiles it on
first run.
Configuration
Variable | Default | Purpose |
| (required) | Your organization API key. |
|
| API base URL. |
| unset |
|
|
| Per-request timeout. |
| bundled | Point at a different OpenAPI document. |
Related MCP server: nimble-js-mcp
Tools
Three, not one per endpoint:
Tool | Purpose |
| Find endpoints by keyword. |
| Parameters, required body fields, responses. |
| Call it, and return the status and body. |
The API has over a thousand operations. A tool per operation would cost more context to enumerate than most tasks cost to perform, and many hosts cap the tool count outright. Search → describe → request reaches all of them at a fixed cost, and because search reads the OpenAPI document directly there is no generated tool list to fall out of date.
Describing before calling is not ceremony: the API validates with
whitelist: true, so a body field it does not recognise is silently
dropped rather than rejected. A request built from a guessed field name
returns 201 having ignored the field.
Permissions
What the assistant may do is decided by the key and enforced server-side on every request — not by this process.
Scope | Grants |
|
|
| Everything |
| Everything |
| The bulk import endpoints only |
| Managing webhook subscriptions |
A key belongs to one organization and the server derives the organization from it, so the assistant can never reach another organization's data.
Give it a
READkey unless it needs to write. That guarantee holds even if the assistant is prompt-injected by something it reads.VREMLY_MCP_READ_ONLY=1is a convenience, not a security boundary — anything able to set that variable could also unset it.
Requests are rate limited per key: 3/second, 20/10 seconds, 100/minute.
Development
npm install
npm run build
npm run typecheckprepare runs build, which is what lets npx install this straight from
GitHub — dist/ is deliberately not committed.
This repository is a published mirror. The source of truth is
apps/mcp-server in the Vremly monorepo, and openapi.json is generated from
the backend rather than written by hand. Send changes there; edits made
directly here will be overwritten by the next sync.
Available Tools
3 toolsvremly_describe_endpointA
Describe one Vremly endpoint in full: path and query parameters, the request body schema with required fields, response schemas, and which credential it accepts. Call this before vremly_request so the body you send matches what the server validates — unknown fields are stripped silently rather than rejected, so a misspelled key fails invisibly.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path template exactly as returned by search, placeholders included, e.g. "/projects/{id}". | |
| method | Yes | HTTP method, e.g. "POST". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a critical, non-obvious server behavior (silent stripping of unknown fields) and mentions that a credential is accepted, though it doesn't detail authentication requirements. It does not contradict any annotations (none exist). The description goes beyond a simple definition by explaining the consequence of misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero waste. The primary purpose is front-loaded, followed by a high-value usage warning. Every word earns its place; there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain what is returned. It explicitly lists the components (path/query parameters, request body schema with required fields, response schemas, and credential). It also covers when to use it relative to siblings. Given the tool's moderate complexity (2 parameters, no nested objects), the description is complete enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters ('path' and 'method') are already documented with formats and examples. The description adds no additional semantic detail beyond what the schema provides, so a baseline of 3 is appropriate. It does reinforce that the path must be a template as returned by search, but that is already in the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Describe') with a specific resource ('one Vremly endpoint') and enumerates the exact content (parameters, body schema, responses, credential). It distinguishes itself from siblings: it is not a search tool (vremly_search_endpoints) nor a request tool (vremly_request).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs when to call this tool ('Call this before vremly_request') and explains why (server validation strips unknown fields silently, so a misspelled key fails invisibly). This provides both a positive trigger and a warning that motivates its use, without needing to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vremly_requestA
Call a Vremly API endpoint and return its status and body. Authenticates with the configured organization API key; the organization is derived from that key, so it can only ever reach that organization's data, and the key's scopes decide what it may do (a READ key cannot write). Substitute real ids into the path — do not send {placeholders}.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON request body. Ignored for GET/HEAD/OPTIONS. | |
| path | Yes | Path with real values substituted, e.g. "/projects/proj_123". | |
| query | No | Optional query string parameters. | |
| method | Yes | HTTP method, e.g. "GET" or "POST". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well by explaining authentication, organization scoping, and that key scopes determine write permissions. It stops short of detailing error behavior or specific side-effect warnings, but the contingent write capability is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the core purpose in the first sentence followed by relevant authentication and usage notes. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives enough context for an agent to use the tool: what it does, how authentication works, and what to substitute. It does not specify response formats beyond status/body, but for a generic request tool this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is high. The description adds useful context by emphasizing path placeholder substitution and confirming that body/query are optional, which goes slightly beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: calling a Vremly API endpoint and returning its status and body. This verb-focused purpose distinguishes it from sibling tools that search or describe endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides some practical guidance, such as substituting real IDs and not sending placeholders, but does not explicitly mention when to prefer this tool over the sibling search/describe tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vremly_search_endpointsA
Search the Vremly API for endpoints by keyword. The API has 1037 operations covering projects (shoots), customers, media and delivery, invoicing, scheduling, the marketplace and webhooks. Start here when you do not already know the exact path. Returns method, path, summary and tags — pass a result to vremly_describe_endpoint for its full shape.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results (default 20). | |
| query | Yes | Keywords, e.g. "create project", "webhook subscription", "invoice pdf". All terms must match. | |
| method | No | Optional HTTP method filter, e.g. "POST". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only search operation without stating it explicitly. Since no annotations are provided, the description carries the full burden of disclosing side effects. While the nature of a search tool makes mutations unlikely, explicitly noting that it does not modify any resources would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It opens with the primary action and resource, then provides scope, use-case guidance, and output details in a logical flow. Every sentence serves a purpose, with no fluff or unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a search tool. It explains what the tool does, when to use it, what it returns, and how to get more detail via the sibling describe_endpoint. It does not need to explain output schema since it explicitly mentions the returned fields. This covers all essential context an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all three parameters (query, limit, method) with 100% description coverage. The description adds valuable nuances: the 'query' parameter's requirement that all terms must match, and the 'method' parameter being an optional filter. This enhances the schema without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: searching the Vremly API by keyword. It specifies the scope (1037 operations covering various domains) and the primary use case (when the exact path is unknown). This unambiguously distinguishes it from the sibling describe_endpoint and request tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to 'start here' when the path is unknown, and it outlines what the tool returns (method, path, summary, tags) and how to proceed for full details (pass result to describe_endpoint). This gives clear guidance on when and how to use it, including a natural handoff to the next tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
vremly_describe_endpoint - First observed
vremly_request - First observed
vremly_search_endpoints
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: search finds endpoints, describe gives full schema details, and request executes the call. There is no overlap or ambiguity between them.
All tools share the vremly_ prefix and use snake_case, making the set predictable. The only minor inconsistency is that vremly_request omits the 'endpoint' object present in the other two names.
Three tools is an elegant fit for an API gateway covering 1,037 operations. Each tool earns its place in a clear discovery-to-execution pipeline without redundancy.
The workflow is complete: search to find endpoints, describe to understand the required shape, and request to execute. There are no obvious dead ends or missing operations for the stated purpose of interacting with the Vremly API.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Turn any task into the right API calls: discover, evaluate, and integrate public APIs.
Discover, preview, estimate, run, and retrieve reusable AI workflows.
Verified, pay-per-use API tools for AI agents through one authenticated connection.
Discover, inspect and run 63,000+ agent tools from one balance. Pay per call, no subscriptions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to securely interact with Fireberry CRM, allowing metadata exploration, schema management, and record operations through natural language.423MIT

nimble-js-mcpofficial
AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with the Nimble REST API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.890Apache 2.0- AlicenseAqualityDmaintenanceExposes Swagger/OpenAPI API documentation to AI models, enabling exploration, search, and interaction with endpoints, schemas, and execution of API calls.1482MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to explore and interact with the Facets Control Plane API via natural language, supporting operations like searching endpoints, loading schemas, and making authenticated API calls.8MIT