Vibe MCP Server
Click 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., "@Vibe MCP Servershow me all projects in production"
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.
Vibe MCP Server
Enterprise-grade Model Context Protocol (MCP) server for the Vibe APIs, enabling seamless AI agent integration with production-ready architecture.
Features
Enterprise Architecture: Modular, scalable, and maintainable codebase
Production-Ready: Comprehensive error handling, logging, and monitoring
Async/Await: Full async implementation for high performance
Type Safety: Pydantic models for all request/response validation
Retry Logic: Automatic exponential backoff for transient failures
Observability: Structured JSON logging for debugging and monitoring
Connection Pooling: Efficient HTTP client with connection reuse
Token Management: Secure Bearer token authentication
Architecture
app/
├── config/ # Configuration management
│ └── settings.py # Environment-based settings
├── core/ # Core infrastructure
│ ├── constants.py # Centralized constants
│ ├── exceptions.py # Application exception hierarchy
│ ├── http_client.py # Reusable HTTP client with retries
│ ├── lifecycle.py # Application startup/shutdown
│ └── logging.py # Structured logging configuration
├── models/ # Pydantic request/response models
│ ├── activity.py
│ ├── bucket.py
│ ├── code.py
│ ├── project.py
│ └── repository.py
├── services/ # Business logic layer
│ └── vibe_api.py # High-level Vibe API client
├── tools/ # MCP tool implementations
│ └── vibe_tools.py # Tool wrappers for MCP
└── main.py # MCP server entry pointQuick Start
Prerequisites
Python 3.12+
uvpackage manager.envfile with configuration
Installation
Clone and navigate to the project:
cd McpServer_VibeCreate and activate virtual environment:
uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall dependencies:
uv pip install -e ".[dev]"
Configuration
Copy environment template:
cp .env.example .envUpdate
.envwith your credentials:VIBE_BASE_URL= VIBE_ACCESS_TOKEN= LOG_LEVEL=INFO MCP_TRANSPORT=stdio
Running the Server
As Python Module
python -m app.mainUsing uv
uv run app/main.pyUsing Entry Point
vibe-mcpAvailable Tools
1. get_project_list
Retrieve all projects from the Vibe system.
Parameters:
environment(optional): Environment name (default: "production")
Example:
{
"environment": "production"
}2. create_repo
Create a new repository in the Vibe system.
Parameters:
repo_id(required): Unique repository IDproject_id(required): Associated project IDrepo_name(required): Repository namerepo_description(optional): Repository descriptionfunctional_area(optional): Functional areaallow_ui_execution(optional): UI execution flag (0 or 1)sync_status(optional): Sync statuscomments(optional): Additional commentsversion_id(optional): Version ID
3. create_bucket
Create a bucket for test execution organization.
Parameters:
bucket_id(required): Unique bucket IDexecution_order(required): Execution orderbucket_name(required): Bucket namebucket_description(optional): Descriptionfunctional_area(optional): Functional areabucket_type(optional): Bucket typeversion_id(optional): Version IDrepo_id(optional): Repository IDenvironment(optional): Environment name
4. get_activity
Retrieve activity details by bucket ID.
Parameters:
bucket_id(required): Bucket IDversion_id(required): Version IDenvironment(optional): Environment name
5. get_code
Retrieve code/script by query ID.
Parameters:
query_id(required): Query/Code IDversion_id(required): Version ID
6. health_check
Verify Vibe API server health and accessibility.
Parameters: None
Integration with AI Clients
Claude Desktop
Create/update Claude config (
~/Library/Application Support/Claude/claude_desktop_config.jsonon macOS, or%APPDATA%\Claude\claude_desktop_config.jsonon Windows):
{
"mcpServers": {
"vibe": {
"command": "python",
"args": ["-m", "app.main"],
"env": {
"VIBE_BASE_URL": "your_url_here",
"VIBE_ACCESS_TOKEN": "your_token_here"
}
}
}
}Restart Claude Desktop to load the MCP server.
Cursor
Similar configuration as Claude Desktop, update your Cursor MCP settings.
VS Code with MCP Extension
Install the MCP Client extension and add to your settings:
{
"mcp.servers": {
"vibe": {
"command": "python",
"args": ["-m", "app.main"],
"env": {
"VIBE_BASE_URL": "your_url_here",
"VIBE_ACCESS_TOKEN": "your_token_here"
}
}
}
}Environment Configuration
All configuration is managed through environment variables in .env file:
Variable | Default | Description |
|
| Vibe API base URL |
| Required | Bearer token for authentication |
|
| Logging level (DEBUG, INFO, WARNING, ERROR) |
|
| Max retry attempts for failed requests |
|
| Initial backoff time (exponential) |
|
| MCP transport (stdio, sse) |
|
| MCP server host |
|
| MCP server port |
|
| Enable health check tool |
|
| Enable metrics collection |
Development
Running Tests
# Install dev dependencies
uv sync --extra dev
# Run all tests
uv run pytest tests/ -v
# Run with coverage report
uv run pytest tests/ --cov=app --cov-report=html
# Run specific test
uv run pytest tests/test_vibe_server.py::TestHttpClient -vSee TESTING.md for comprehensive testing documentation.
Linting and Type Checking
# Lint with ruff
uv run ruff check app/
# Type checking with pyright
uv run pyright app/Running in Development Mode
LOG_LEVEL=DEBUG uv run app/main.pyError Handling
The server implements enterprise-grade error handling:
VibeAuthenticationError: Invalid or expired token (HTTP 401)
VibeNotFoundError: Resource not found (HTTP 404)
VibeValidationError: Request validation failure
VibeTimeoutError: Request timeout
VibeConnectionError: Network connectivity issues
All errors are automatically logged with structured context for debugging.
Retry Mechanism
Failed requests are automatically retried with exponential backoff:
Max retries: Configurable (default: 3)
Backoff multiplier: Exponential (1, 2, 4, 8 seconds)
Retryable errors: Timeouts, connection errors, server errors
Non-retryable: Authentication errors (401), validation errors
Logging
Structured JSON logging provides detailed observability:
{
"event": "HTTP request successful",
"timestamp": "2024-05-19T10:30:45.123456Z",
"level": "info",
"logger": "http_client",
"method": "GET",
"endpoint": "/api/Project/GetProjectList",
"status_code": 200
}Enable debug logging for detailed request/response traces:
LOG_LEVEL=DEBUG python -m app.mainPerformance Considerations
Connection Pooling: HTTP client maintains persistent connections (10 max)
Timeout Configuration: 30-second request timeout, 10-second connect timeout
Async Processing: All operations are async for concurrent execution
Memory Efficiency: Structured streaming responses for large datasets
Security
Token Handling: Bearer tokens are stored securely in
SecretStrand never loggedHTTPS: All connections use HTTPS by default
Input Validation: All inputs validated against Pydantic models
Output Sanitization: Responses are validated before returning to clients
Troubleshooting
Connection Issues
Verify network connectivity:
curl -H "Authorization: Bearer $VIBE_ACCESS_TOKEN" \ "your_url_here"Check VPN/Proxy if required for your network
Enable debug logging:
LOG_LEVEL=DEBUG python -m app.main
Authentication Errors
Verify token is valid and not expired
Check token format: Should be
Bearer <token>Ensure
.envfile is loaded:cat .env | grep VIBE_ACCESS_TOKEN
Timeout Issues
Increase timeout in production (edit
http_client.py)Check network latency to Vibe API
Reduce concurrent requests if hitting rate limits
Contributing
For contributing to this project:
Follow PEP 8 style guide
Add type annotations to all functions
Write tests for new features
Update documentation
Run linting and type checks before submitting
License
This project is proprietary and maintained by the engineering team.
Support
For issues or questions:
Check the troubleshooting section
Review structured logs for error context
Contact the engineering team with:
Error message and stack trace
Relevant log output
Steps to reproduce the issue
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/Coding-Professional/McpServer_Vibe'
If you have feedback or need assistance with the MCP directory API, please join our Discord server