A collection of MCP (Model Context Protocol) servers for Peta Core, created by Dunia Labs
These are MCP servers optimized for efficient and effective use with Peta Core. They can be connected to Peta Core and configured directly for immediate use, or run independently without Peta.
When used with Peta Core, you get:
- Secure credential management — API credentials and sensitive information are stored in the vault, never exposed externally, and accessed only when needed
- Multi-tenant support — Serve multiple users or organizations from a single deployment
- Granular permissions — Assign different access levels and permissions to different API keys
- Human-in-the-loop approval — Require explicit human approval for risky or sensitive operations before execution
Directory: mcp-server-template/
A template for creating new MCP servers. Use this as a starting point for building your own MCP integrations.
Features:
- TypeScript-based structure
- Testing infrastructure
- Best practices and guidelines
- Documentation and examples
Directory: mcp-google-drive/
An MCP server that provides integration with Google Drive, enabling AI assistants to interact with your Google Drive files and folders.
Features:
- File and folder management
- Search capabilities
- File version history
- Docker support
- Real-time token updates
Directory: mcp-postgres/
An MCP server for PostgreSQL database integration, allowing AI assistants to query and interact with PostgreSQL databases safely.
Features:
- Read-only and write operations
- Schema inspection
- Secure query execution
- Docker support
- Connection pooling
Directory: mcp-notion/
An MCP server for Notion integration, enabling AI assistants to interact with Notion pages, databases, blocks, and users.
Features:
- 16 tools for Notion operations
- Page management (create, read, update, delete, search)
- Database operations (query, create, manage)
- Block management (append, read, update, delete)
- User management
- Property management
- STDIO transport
- Docker support (amd64/arm64)
- Token-based authentication
Directory: mcp-google-calendar/
An MCP server for Google Calendar integration, enabling AI assistants to manage calendars and events.
Features:
- 10 tools for calendar and event management
- Calendar management (list, create, delete)
- Event operations (create, read, update, delete, search)
- Free/busy queries and event creation
- STDIO transport
- Docker support (amd64/arm64)
- Token-based authentication
- Runtime token refresh
Directory: mcp-figma/
An MCP server for Figma integration, enabling AI assistants to interact with Figma files, designs, and collaboration features.
Features:
- 17 tools for Figma operations
- File management (list, read, metadata, screenshots)
- Design system access (components, styles, variables)
- FigJam support (diagram content and screenshots in XML)
- Collaboration (comments, replies, version history)
- STDIO transport
- Docker support (amd64/arm64)
- Token-based authentication
Directory: mcp-rest-gateway/
A configuration-driven gateway that converts any REST API into MCP tools, enabling AI assistants to interact with RESTful services without writing code.
Features:
- Convert REST APIs to MCP tools via JSON configuration
- Authentication types: bearer, query_param, header, basic, none
- Parameter mapping to REST endpoints (path, query, body, header)
- JSONPath support for response transformation
- Environment variable substitution
- OpenAPI generator (auto-generate config from OpenAPI/Swagger)
- STDIO transport
- Docker support (amd64/arm64)
- Compatible with Peta Core
peta-mcp-servers/
├── mcp-server-template/ # Template for new MCP servers
├── mcp-google-drive/ # Google Drive integration
├── mcp-postgres/ # PostgreSQL database integration
├── mcp-notion/ # Notion workspace integration
├── mcp-google-calendar/ # Google Calendar integration
├── mcp-figma/ # Figma design integration
├── mcp-rest-gateway/ # REST API to MCP gateway
└── README.md # This file
Each MCP server has its own documentation and setup instructions. Navigate to the specific server directory and read its README for detailed information.
Most servers in this repository require:
- Node.js 18+ or compatible runtime
- npm or yarn package manager
- Appropriate API credentials or access tokens for the service being integrated
Each server can be installed and run independently:
# Navigate to the specific server directory
cd mcp-google-drive
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Edit .env with your credentials
# Build the server
npm run build
# Run the server (if applicable)
npm startAll MCP servers are available as Docker images on GitHub Container Registry (GHCR):
- 🐳 Multi-platform support: linux/amd64 and linux/arm64 (Apple Silicon compatible)
- 📦 View all packages: https://github.com/dunialabs/mcp-servers/packages
| Server | Image | Latest Version |
|---|---|---|
| Google Drive | ghcr.io/dunialabs/mcp-servers/google-drive |
v1.1.4 |
| PostgreSQL | ghcr.io/dunialabs/mcp-servers/postgres |
v1.1.2 |
| Notion | ghcr.io/dunialabs/mcp-servers/notion |
v1.1.1 |
| Figma | ghcr.io/dunialabs/mcp-servers/figma |
v1.0.1 |
| Google Calendar | ghcr.io/dunialabs/mcp-servers/google-calendar |
v1.0.1 |
| REST Gateway | ghcr.io/dunialabs/mcp-servers/rest-gateway |
v1.0.1 |
# Pull specific version
docker pull ghcr.io/dunialabs/mcp-servers/google-drive:1.1.4
# Pull latest version
docker pull ghcr.io/dunialabs/mcp-servers/google-drive:latestTo use these MCP servers with Claude Desktop, add them to your Claude configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Using GitHub Container Registry images provides better reliability and automatic multi-platform support:
{
"mcpServers": {
"postgres": {
"command": "docker",
"args": [
"run",
"--pull=always",
"-i",
"--rm",
"-e",
"POSTGRES_URL",
"-e",
"ACCESS_MODE",
"ghcr.io/dunialabs/mcp-servers/postgres:latest"
],
"env": {
"POSTGRES_URL": "postgresql://user:password@localhost:5432/dbname",
"ACCESS_MODE": "readonly"
}
},
"google-drive": {
"command": "docker",
"args": ["run", "--pull=always", "-i", "--rm", "-e", "accessToken", "ghcr.io/dunialabs/mcp-servers/google-drive:latest"],
"env": {
"accessToken": "ya29.xxx..."
}
},
"notion": {
"command": "docker",
"args": ["run", "--pull=always", "-i", "--rm", "-e", "notionToken", "ghcr.io/dunialabs/mcp-servers/notion:latest"],
"env": {
"notionToken": "ntn_xxx..."
}
},
"google-calendar": {
"command": "docker",
"args": ["run", "--pull=always", "-i", "--rm", "-e", "accessToken", "ghcr.io/dunialabs/mcp-servers/google-calendar:latest"],
"env": {
"accessToken": "ya29.xxx..."
}
},
"figma": {
"command": "docker",
"args": ["run", "--pull=always", "-i", "--rm", "-e", "accessToken", "ghcr.io/dunialabs/mcp-servers/figma:latest"],
"env": {
"accessToken": "figd_xxx..."
}
},
"rest-gateway": {
"command": "docker",
"args": ["run", "--pull=always", "-i", "--rm", "-e", "GATEWAY_CONFIG", "ghcr.io/dunialabs/mcp-servers/rest-gateway:latest"],
"env": {
"GATEWAY_CONFIG": "{\"apis\":[{\"name\":\"example-api\",\"baseUrl\":\"https://api.example.com\",\"auth\":{\"type\":\"bearer\",\"token\":\"${API_KEY}\"},\"tools\":[...]}]}"
}
}
}
}If you prefer running servers directly without Docker:
{
"mcpServers": {
"postgres": {
"command": "node",
"args": ["/path/to/peta-mcp-servers/mcp-postgres/dist/index.js"],
"env": {
"POSTGRES_URL": "postgresql://user:password@localhost:5432/dbname",
"ACCESS_MODE": "readonly"
}
},
"google-drive": {
"command": "node",
"args": ["/path/to/peta-mcp-servers/mcp-google-drive/dist/stdio.js"],
"env": {
"accessToken": "ya29.xxx..."
}
},
"notion": {
"command": "node",
"args": ["/path/to/peta-mcp-servers/mcp-notion/dist/stdio.js"],
"env": {
"notionToken": "ntn_xxx..."
}
},
"google-calendar": {
"command": "node",
"args": ["/path/to/peta-mcp-servers/mcp-google-calendar/dist/stdio.js"],
"env": {
"accessToken": "ya29.xxx..."
}
},
"figma": {
"command": "node",
"args": ["/path/to/peta-mcp-servers/mcp-figma/dist/stdio.js"],
"env": {
"accessToken": "figd_xxx..."
}
},
"rest-gateway": {
"command": "node",
"args": ["/path/to/peta-mcp-servers/mcp-rest-gateway/dist/stdio.js"],
"env": {
"GATEWAY_CONFIG": "{\"apis\":[{\"name\":\"example-api\",\"baseUrl\":\"https://api.example.com\",\"auth\":{\"type\":\"bearer\",\"token\":\"${API_KEY}\"},\"tools\":[...]}]}"
}
}
}
}Refer to each server's documentation for specific configuration details.
To create a new MCP server in this repository:
-
Copy the
mcp-server-templatedirectory:cp -r mcp-server-template mcp-your-new-server cd mcp-your-new-server -
Follow the checklist in
NEW_PROJECT_CHECKLIST.md -
Read
TEMPLATE_GUIDE.mdfor detailed instructions -
Implement your server logic in the
src/directory -
Update the main README.md to include your new server
- Each server should be self-contained with its own dependencies
- Follow TypeScript best practices
- Include comprehensive documentation
- Add tests for critical functionality
- Use environment variables for configuration
- Follow the MCP specification
See CONTRIBUTING.md for guidelines on contributing to this project.
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 Dunia Labs, Inc.
All MCP servers in this repository are licensed under the MIT License.
For issues or questions specific to a server, please refer to that server's documentation. For general questions about this repository, please open an issue.