Cloud · MODEL CONTEXT PROTOCOL
AdamPippert multi service mcp server
an MCP server for the services I like to use with AI agents, which you should probably fork and modify for your own use. No PRs accepted, this is just for me. Not private because you or a bot might get something out of what you see here.
WHAT IT CONNECTS
What AdamPippert multi service mcp server gives an AI Agent
- **MCP Gateway**: A unified endpoint for all tool requests following the MCP standard
- **MCP Manifest**: An endpoint that describes all available tools and their capabilities
- **Direct Tool Access**: Each tool can be accessed directly via its own API endpoints
- **Modular Design**: Easy to add or remove tools as needed
- **GitHub Tool**: Interact with GitHub repositories, issues, and search
- **GitLab Tool**: Interact with GitLab projects, issues, and pipelines
- **Google Maps Tool**: Geocoding, directions, and places search
- **Memory Tool**: Store and retrieve data persistently
- **Puppeteer Tool**: Take screenshots, generate PDFs, and extract content from websites
- Python 3.8 or higher
- Node.js 14 or higher
- A Red Hat-based Linux distribution (RHEL, CentOS, Fedora) or any Linux/macOS system
- Clone this repository:
- Install Python dependencies:
- Install Node.js dependencies:
- Create a `.env` file with your configuration:
- Start the server:
- Build the Docker image:
- Run the container:
- Alternatively, use docker-compose:
- "5000:5000"
- ./data:/app/data
- .env
- Build the container image:
- Run the container:
- If you need persistent storage:
- Using Podman Compose (if installed):
- GitHub: `/tool/github/...`
- GitLab: `/tool/gitlab/...`
- Google Maps: `/tool/gmaps/...`
- Memory: `/tool/memory/...`
- Puppeteer: `/tool/puppeteer/...`
- `listRepos`: List repositories for a user or organization
- `getRepo`: Get details for a specific repository
- `searchRepos`: Search for repositories
- `getIssues`: Get issues for a repository
- `createIssue`: Create a new issue in a repository
- `listProjects`: List all projects accessible by the authenticated user
- `getProject`: Get details for a specific project
- `searchProjects`: Search for projects on GitLab
- `getIssues`: Get issues for a project
- `createIssue`: Create a new issue in a project
- `getPipelines`: Get pipelines for a project
- `geocode`: Convert an address to geographic coordinates
- `reverseGeocode`: Convert geographic coordinates to an address
- `getDirections`: Get directions between two locations
- `searchPlaces`: Search for places using the Google Places API
- `getPlaceDetails`: Get details for a specific place
- `get`: Get a memory item by key
- `set`: Create or update a memory item
- `delete`: Delete a memory item by key
- `list`: List all memory items, with optional filtering
- `search`: Search memory items by value
- `screenshot`: Take a screenshot of a webpage
- `pdf`: Generate a PDF of a webpage
- `extract`: Extract content from a webpage
- Create a new file in the `tools` directory, e.g., `tools/newtool_tool.py`
- Implement the tool with actions following the same pattern as existing tools
- Add the tool to the manifest in `app.py`
- Register the tool's blueprint in `tools/__init__.py`
- [Model Context Protocol](https://modelcontextprotocol.io/) for the standard specification
- [Flask](https://flask.palletsprojects.com/) for the web framework
- [Puppeteer](https://pptr.dev/) for web automation
SECURITY
An MCP listing is not a security review
An MCP server may receive model context, credentials, local files, or permission to call external systems. Review its code, requested environment variables, network behavior, package provenance, and maintenance status before connecting it to an agent.