I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

Servidor Basecamp-MCP
Un servidor MCP que interactúa con la API Basecamp 3+
3 years
Works with Finder
1
Github Watches
1
Github Forks
2
Github Stars
Basecamp MCP Integration
This project provides a MCP (Magic Copy Paste) integration for Basecamp 3, allowing Cursor to interact with Basecamp directly through the MCP protocol.
Architecture
The project consists of the following components:
-
OAuth App (
oauth_app.py
) - A Flask application that handles the OAuth 2.0 flow with Basecamp. -
Token Storage (
token_storage.py
) - A module for securely storing OAuth tokens. -
MCP Server (
mcp_server.py
) - A Flask server that implements the MCP protocol for Basecamp. -
Basecamp Client (
basecamp_client.py
) - A client library for interacting with the Basecamp API. -
Basecamp OAuth (
basecamp_oauth.py
) - A utility for handling OAuth authentication with Basecamp. -
Search Utilities (
search_utils.py
) - Utilities for searching Basecamp resources.
Setup
Prerequisites
- Python 3.7+
- A Basecamp 3 account
- A Basecamp OAuth application (create one at https://launchpad.37signals.com/integrations)
Installation
-
Clone this repository:
git clone <repository-url> cd basecamp-mcp
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file with the following variables:BASECAMP_CLIENT_ID=your_client_id BASECAMP_CLIENT_SECRET=your_client_secret BASECAMP_REDIRECT_URI=http://localhost:8000/auth/callback USER_AGENT="Your App Name (your@email.com)" BASECAMP_ACCOUNT_ID=your_account_id FLASK_SECRET_KEY=random_secret_key MCP_API_KEY=your_api_key COMPOSIO_API_KEY=your_composio_api_key
Usage
Starting the Servers
-
Start the OAuth app:
python oauth_app.py
-
Start the MCP server:
python mcp_server.py
OAuth Authentication
- Visit http://localhost:8000/ in your browser
- Click "Log in with Basecamp"
- Follow the OAuth flow to authorize the application
- The token will be stored securely in the token storage
Using with Cursor
- In Cursor, add the MCP server URL: http://localhost:5001
- Interact with Basecamp through the Cursor interface
- The MCP server will use the stored OAuth token to authenticate with Basecamp
Authentication Flow
When using the MCP server with Cursor, the authentication flow is as follows:
- Cursor makes a request to the MCP server
- The MCP server checks if OAuth authentication has been completed
- If not, it returns an error with instructions to authenticate
- You authenticate using the OAuth app at http://localhost:8000/
- After authentication, Cursor can make requests to the MCP server
MCP Server API
The MCP server has two main methods for interacting with Basecamp:
Preferred Method: Connection-based Approach
This approach is recommended as it provides better error handling and state management:
-
Initiate a connection:
POST /initiate_connection { "auth_mode": "oauth" }
-
Use the returned connection ID to make tool calls:
POST /tool/<connection_id> { "action": "get_projects" }
If OAuth authentication hasn't been completed, the MCP server will return an error with instructions to authenticate.
Alternative Method: Direct Action
For simple requests, you can use the action endpoint:
POST /mcp/action
{
"action": "get_projects"
}
This method also checks for OAuth authentication and returns appropriate error messages if needed.
Token Management
- Tokens are stored in
oauth_tokens.json
- The token will be refreshed automatically when it expires
- You can view token info at http://localhost:8000/token/info
- You can logout and clear the token at http://localhost:8000/logout
Troubleshooting
- Token Issues: If you encounter authentication errors, try logging out and logging in again through the OAuth app
- MCP Connection Issues: Make sure both the OAuth app and MCP server are running
-
API Errors: Check the logs in
oauth_app.log
andmcp_server.log
for detailed error messages
Security Considerations
- This implementation uses file-based token storage, which is suitable for development but not for production
- In a production environment, use a database or secure key management service for token storage
- Always use HTTPS in production and implement proper authentication for the API endpoints
License
This project is licensed under the MIT License - see the LICENSE file for details.
Recent Changes
March 9, 2024 - Improved MCP Server Functionality
- Added standardized error and success response handling with new
mcp_response
helper function - Fixed API endpoint issues for Basecamp Campfire (chat) functionality:
- Updated the URL format for retrieving campfires from
projects/{project_id}/campfire.json
tobuckets/{project_id}/chats.json
- Added support for retrieving campfire chat lines
- Updated the URL format for retrieving campfires from
- Enhanced search capabilities to include campfire lines content
- Improved error handling and response formatting across all action handlers
- Fixed CORS support by adding the Flask-CORS package
These changes ensure more reliable and consistent responses from the MCP server, particularly for Campfire chat functionality.
March 9, 2024 - Added Composio Integration
Added support for Composio integration, allowing the Basecamp MCP server to be used with Composio for AI-powered workflows. This integration follows the Model Context Protocol (MCP) standards and includes:
-
New endpoints for Composio compatibility:
-
/composio/schema
- Returns the schema of available tools in Composio-compatible format -
/composio/tool
- Handles Composio tool calls with standardized parameters -
/composio/check_auth
- Checks authentication status for Composio requests
-
-
Standardized tool naming and parameter formats to work with Composio's MCP specifications
-
A standalone example client for testing and demonstrating the integration
Using with Composio
Prerequisites
- Create a Composio account at https://app.composio.dev
- Obtain a Composio API key from your Composio dashboard
- Add your API key to your
.env
file:COMPOSIO_API_KEY=your_composio_api_key
Setting Up Composio Integration
-
Make sure you have authenticated with Basecamp using the OAuth app (http://localhost:8000/)
-
Run the MCP server with the Composio integration enabled:
python mcp_server.py
-
In your Composio dashboard, add a new custom integration:
- Integration URL:
http://localhost:5001/composio/schema
- Authentication: OAuth (managed by our implementation)
- Integration URL:
-
You can now use Composio to connect to your Basecamp account through the MCP server:
- Composio will discover available tools via the schema endpoint
- Tool executions will be handled by the
/composio/tool
endpoint - Authentication status is checked via the
/composio/check_auth
endpoint
Example Composio Client
We provide a simple client example in composio_client_example.py
that demonstrates how to:
- Check authentication status
- Retrieve the tool schema
- Execute various Basecamp operations through the Composio integration
Run the example with:
python composio_client_example.py
Testing the Integration
To test the integration without connecting to Composio:
-
Run the MCP server:
python mcp_server.py
-
Use curl to test the endpoints directly:
# Check authentication status curl http://localhost:5001/composio/check_auth # Get the schema curl http://localhost:5001/composio/schema # Execute a tool (get projects) curl -X POST http://localhost:5001/composio/tool \ -H "Content-Type: application/json" \ -d '{"tool": "GET_PROJECTS", "params": {}}'
For more detailed documentation on Composio integration, refer to the official Composio documentation.
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.
Converts Figma frames into front-end code for various mobile frameworks.
Therapist adept at identifying core issues and offering practical advice with images.
A world class elite tech co-founder entrepreneur, expert in software development, entrepreneurship, marketing, coaching style leadership and aligned with ambition for excellence, global market penetration and worldy perspectives.
Advanced software engineer GPT that excels through nailing the basics.
Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.
Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx
Una puerta de enlace de API unificada para integrar múltiples API de explorador de blockchain similar a Esterscan con soporte de protocolo de contexto modelo (MCP) para asistentes de IA.
Espejo de https: //github.com/suhail-ak-s/mcp-typesense-server
本项目是一个钉钉 MCP (Protocolo del conector de mensajes )服务 , 提供了与钉钉企业应用交互的 API 接口。项目基于 Go 语言开发 支持员工信息查询和消息发送等功能。 支持员工信息查询和消息发送等功能。
Reviews

user_JfLl9tpQ
As a dedicated user of Runbook MCP Server, I am thoroughly impressed by its seamless integration and robust functionality. Runbookai has developed an exceptional product that enhances server management efficiency and reliability. I highly recommend it to anyone looking to streamline their server operations. The intuitive interface and comprehensive features make it a must-have for any IT professional.