Skip to main content
Glama
brevdev

Brev

Official
by brevdev

Brev MCP server

This is a MCP server implementation for Brev.

Configuration

The MCP server uses the Brev CLI's API access token and currently set org.

Follow the Brev documentation to download the CLI and login if you haven't already.

If you want to switch your Brev org, run brev set <org-name>

The CLI access token expires every hour. If you have any 403 errors, simply run brev ls to refresh the access token.

Related MCP server: GCP Infrastructure MCP Server

Quickstart

Setup repository locally

git clone git@github.com:brevdev/brev-mcp.git

Install uv

Follow the uv installation guide

Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

Add the following to your claude_desktop_config.json:

"mcpServers": {
  "brev_mcp": {
    "command": "uv",
    "args": [
      "--directory",
      "<path-to-repo>",
      "run",
      "brev-mcp"
    ]
  }
}

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:

uv sync
  1. Build package distributions:

uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:

uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN

  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory /Users/tmontfort/Brev/repos/brev_mcp run brev-mcp

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Available Tools

2 tools
create_workspaceC

Create a workspace from an instance type and cloud provider

ParametersJSON Schema
NameRequiredDescriptionDefault
cloud_providerYesThe cloud provider for the workspace
instance_typeNoThe instance type of the workspace
nameNoThe name of the workspace

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a creation tool, implying a write/mutation operation, but doesn't mention permission requirements, whether the operation is idempotent, what happens on failure, or any rate limits. This leaves significant behavioral gaps for a tool that creates resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's appropriately sized and front-loaded with the essential information, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a resource creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what a 'workspace' represents in this context, what happens after creation, whether there are dependencies or constraints, or what the return value might be. The combination of mutation behavior and lack of structured metadata creates significant contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with all parameters well-documented in the schema itself. The description mentions 'instance type and cloud provider' as inputs, which aligns with two of the three parameters, but doesn't add meaningful semantic context beyond what the schema already provides. The baseline of 3 is appropriate given the comprehensive schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and resource ('workspace') with specific inputs ('from an instance type and cloud provider'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from the sibling tool 'get_instance_types', which appears to be a read-only counterpart rather than a direct alternative for creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives or any prerequisites for its use. While it mentions 'instance type and cloud provider' as inputs, it doesn't clarify if this is the only way to create a workspace or if there are other methods available.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_instance_typesB

Get available instances types for a cloud provider

ParametersJSON Schema
NameRequiredDescriptionDefault
cloud_providerYesThe cloud provider to get instance types for

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'Get available instance types' but doesn't specify if this is a read-only operation, requires authentication, has rate limits, or what the output format might be. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently conveys the tool's purpose without any unnecessary words. It is front-loaded and appropriately sized, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter with full schema coverage) and lack of output schema, the description is minimally adequate. However, it doesn't compensate for the absence of annotations or output details, leaving the agent with incomplete context about the tool's full behavior and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the parameter 'cloud_provider' well-documented in the schema, including an enum list. The description adds no additional meaning beyond what the schema provides, such as explaining the significance of the provider choice, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('available instance types for a cloud provider'), making the purpose immediately understandable. However, it doesn't differentiate from the sibling tool 'create_workspace', which is unrelated, so it doesn't fully earn the highest score for sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives or any prerequisites. It simply states what it does without context about timing, constraints, or comparisons to other tools, leaving the agent with minimal usage direction.

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. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.0
    • First observedcreate_workspace
    • First observedget_instance_types

TDQS

B3.1/5.0
Disambiguation5/5

The two tools have completely distinct purposes: one creates a workspace and the other retrieves instance types. There is no overlap in functionality, making it impossible for an agent to confuse them.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern (create_workspace, get_instance_types). The verbs are clear and descriptive, and the style is uniform throughout.

Tool Count2/5

With only two tools, the server feels thin for managing workspaces. It lacks essential operations like listing, updating, or deleting workspaces, which limits its utility for typical lifecycle management.

Completeness2/5

The toolset is severely incomplete for workspace management. It includes creation and instance type lookup but omits critical operations such as listing existing workspaces, updating configurations, or deleting workspaces, leaving significant gaps in coverage.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brevdev/brev-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server