waldur mcp server
The Waldur MCP Server facilitates interaction with Waldur instances via MCP, allowing seamless integration and management of services through customized API access.
The Waldur MCP Server facilitates interaction with Waldur instances via MCP, allowing seamless integration and management of services through customized API access.
Waldur MCP server enables integration between Waldur instance and Claude Desktop by implementing the Model Context Protocol (MCP). This allows Claude to interact with your Waldur instance directly.
Install Claude Desktop for your platform from the Claude Desktop releases page
Install Python 3.13 or higher.
Install uv package manager.
To install the package:
pip install waldur-mcp-server
Or with uv:
uv pip install waldur-mcp-server
On Windows: %APPDATA%Claudeclaude_desktop_config.json
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"waldur-mcp-server": {
"command": "uv",
"args": [
"--directory",
"C:waldur_service",
"run",
"waldur-mcp-server"
],
"env": {
"WALDUR_API_URL": "https://your-waldur-instance",
"WALDUR_TOKEN": "your-token"
}
}
}
}
{
"mcpServers": {
"waldur-mcp-server": {
"command": "uvx",
"args": [
"waldur-mcp-server"
],
"env": {
"WALDUR_API_URL": "https://your-waldur-instance",
"WALDUR_TOKEN": "your-token"
}
}
}
}
On macOS, log files are located at ~/Library/Logs/Claude/mcp.log
If you encounter a spawn uvx ENOENT
error, verify that your PATH environment variable includes the Python installation directory where uv
is installed. Alternatively, you can specify the full path to uvx
in the configuration file, for example:
~/Library/Frameworks/Python.framework/Versions/3.13/bin/uvx
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 C:waldur_service run waldur-mcp-server
When debugging, you'll need to set the required environment variables. Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
[
{
"description": "Run a read-only SQL query",
"inputSchema": {
"properties": {
"sql": {
"title": "Sql",
"type": "string"
}
},
"required": [
"sql"
],
"title": "queryArguments",
"type": "object"
},
"name": "query"
},
{
"description": "List all customers",
"inputSchema": {
"properties": {},
"title": "list_customersArguments",
"type": "object"
},
"name": "list_customers"
},
{
"description": "List all projects",
"inputSchema": {
"properties": {},
"title": "list_projectsArguments",
"type": "object"
},
"name": "list_projects"
},
{
"description": "List all resources",
"inputSchema": {
"properties": {},
"title": "list_resourcesArguments",
"type": "object"
},
"name": "list_resources"
},
{
"description": "List all invoices",
"inputSchema": {
"properties": {},
"title": "list_invoicesArguments",
"type": "object"
},
"name": "list_invoices"
},
{
"description": "List all offerings",
"inputSchema": {
"properties": {},
"title": "list_offeringsArguments",
"type": "object"
},
"name": "list_offerings"
},
{
"description": "Invite users to project or organization by email Args: scope_type: Whether to invite users to organization or project scope_name: Name of the organization or project to invite users to role: Role to assign to invited users emails: List of email addresses to invite extra_invitation_text: Custom message to include in the invitation ",
"inputSchema": {
"properties": {
"emails": {
"items": {
"type": "string"
},
"title": "Emails",
"type": "array"
},
"extra_invitation_text": {
"default": "",
"title": "Extra Invitation Text",
"type": "string"
},
"role": {
"title": "Role",
"type": "string"
},
"scope_name": {
"title": "Scope Name",
"type": "string"
},
"scope_type": {
"enum": [
"customer",
"project"
],
"title": "Scope Type",
"type": "string"
}
},
"required": [
"scope_type",
"scope_name",
"role",
"emails"
],
"title": "create_invitationArguments",
"type": "object"
},
"name": "create_invitation"
}
]