luohy15/y-server
If you are the rightful owner of y-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Cloudflare Worker-based MCP Server with streamable HTTP transport support, designed for AI assistants to interact with external services and APIs.
Google Calendar
Create, read, update, and delete calendar events
S3
S3-based file editing (replace)
Gmail
Query, read, and reply to emails; Create and manage email drafts; Handle email attachments
Cloudflare
Cloudflare-powered web fetching
Firecrawl
Web scraping capabilities
E2B
File operations (list, read, write) and code execution
AlphaVantage
Financial data retrieval
Image Router
Image generation and routing
Tavily
Search and information extraction
Exa
Search and content retrieval
Brave
Web search
y-server ๐
A Cloudflare Worker-based MCP (Model Context Protocol) Server with streamable HTTP transport support. This server provides various tools and integrations for AI assistants to interact with external services and APIs.
This server is designed to work with y-gui, a web-based graphical interface for AI chat interactions with powerful MCP integrations.
๐งฐ Tools
y-server extends AI capabilities through the Model Context Protocol by providing a suite of tools that allow AI assistants to interact with various external services and APIs:
Category | Tools | Description |
---|---|---|
๐ Calendar | Google Calendar | Create, read, update, and delete calendar events |
๐ Editor | S3 | S3-based file editing (replace) |
๐ง Email | Gmail | Query, read, and reply to emails; Create and manage email drafts; Handle email attachments |
๐ Fetch & Scrape | Cloudflare, Firecrawl | Cloudflare-powered web fetching; Firecrawl web scraping capabilities |
๐ File | E2B, S3 | File operations (list, read, write) |
๐ฐ Finance | AlphaVantage | Financial data retrieval |
๐ผ๏ธ Image | Image Router | Image generation and routing |
๐งช Sandbox | E2B | Code execution and command sandboxing |
๐ Search | Tavily, Exa, Brave | Tavily search and information extraction; Exa search and content retrieval; Brave web search |
๐ฆ Installation
๐ Prerequisites
- Node.js (latest LTS version recommended)
- Cloudflare account with Workers and R2 access
๐ง Setup
- Clone the repository
git clone https://github.com/yourusername/y-server.git
cd y-server
- Install dependencies
npm install
- Configure your environment variables in the Cloudflare dashboard or using
.dev.vars
for local development
โ๏ธ Configuration
โ๏ธ Cloudflare Worker Configuration
The project uses wrangler.toml
for Cloudflare Worker configuration:
name = "y-server"
main = "src/index.ts"
compatibility_flags = [ "nodejs_compat" ]
compatibility_date = "2024-09-23"
[[r2_buckets]]
binding = "CDN_BUCKET"
bucket_name = "cdn-yovy-app"
[dev]
port = 8788
ip = "localhost"
local_protocol = "http"
๐ Required Environment Variables
CLOUDFLARE_ACCOUNT_ID
: Your Cloudflare account IDCLOUDFLARE_BROWSER_RENDER_API_TOKEN
: API token for Cloudflare Browser Rendering- Other service-specific credentials (Google API, Brave API, etc.)
๐ป Development
๐ Local Development
Start the development server:
npm run dev
This will start the worker on http://localhost:8788
๐๏ธ Build
Build the project:
npm run build
๐ Deploy
Deploy to Cloudflare Workers:
npm run deploy
๐ MCP Integration
This server implements the Model Context Protocol, allowing AI assistants to use the provided tools through a standardized interface. It uses a streamable HTTP transport that enables efficient communication with AI models.
๐งฉ Integration with y-gui
y-server is designed to work as an MCP server for y-gui, a web-based graphical interface for AI chat interactions. The y-gui client provides:
- ๐ฌ Interactive chat interface with AI models
- ๐ค Support for multiple bot configurations
- ๐ Comprehensive MCP integration system
- ๐ Secure authentication with Auth0 and Google login
- ๐ Dark/light theme support
- ๐ All chat data stored in Cloudflare R2
To connect y-server with y-gui:
- Deploy your y-server instance
- In y-gui, configure a new MCP server with your y-server URL
- Enable the desired tools in your bot configuration
For more information, visit the y-gui repository.
There's also a CLI version available: y-cli.
๐ Project Structure
src/
โโโ index.ts # Main entry point
โโโ tools/ # All MCP tools
โ โโโ calendar/ # Calendar tools (Google)
โ โโโ editor/ # Editor tools (S3)
โ โโโ email/ # Email tools (Gmail)
โ โโโ fetch/ # Web fetch tools
โ โโโ image/ # Image tools
โ โโโ search/ # Search tools (Brave, Tavily, Exa)
โโโ transport/ # HTTP transport implementation
โโโ types/ # TypeScript type definitions
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.