y-server

luohy15/y-server

3.2

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.

Tools
  1. Google Calendar

    Create, read, update, and delete calendar events

  2. S3

    S3-based file editing (replace)

  3. Gmail

    Query, read, and reply to emails; Create and manage email drafts; Handle email attachments

  4. Cloudflare

    Cloudflare-powered web fetching

  5. Firecrawl

    Web scraping capabilities

  6. E2B

    File operations (list, read, write) and code execution

  7. AlphaVantage

    Financial data retrieval

  8. Image Router

    Image generation and routing

  9. Tavily

    Search and information extraction

  10. Exa

    Search and content retrieval

  11. 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:

CategoryToolsDescription
๐Ÿ“… CalendarGoogle CalendarCreate, read, update, and delete calendar events
๐Ÿ“ EditorS3S3-based file editing (replace)
๐Ÿ“ง EmailGmailQuery, read, and reply to emails; Create and manage email drafts; Handle email attachments
๐ŸŒ Fetch & ScrapeCloudflare, FirecrawlCloudflare-powered web fetching; Firecrawl web scraping capabilities
๐Ÿ“‚ FileE2B, S3File operations (list, read, write)
๐Ÿ’ฐ FinanceAlphaVantageFinancial data retrieval
๐Ÿ–ผ๏ธ ImageImage RouterImage generation and routing
๐Ÿงช SandboxE2BCode execution and command sandboxing
๐Ÿ”Ž SearchTavily, Exa, BraveTavily 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

  1. Clone the repository
git clone https://github.com/yourusername/y-server.git
cd y-server
  1. Install dependencies
npm install
  1. 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 ID
  • CLOUDFLARE_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:

  1. Deploy your y-server instance
  2. In y-gui, configure a new MCP server with your y-server URL
  3. 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.