← Discover MCPs and Agents
M
MCPAI & MLGitHub

MultimateAi-MCPServer

MultimateAi MCP Server For Telegram, Notion, Slack, Firecrawl, Google Sheet/Docs/Calendar/Gmail and n8n.

Links

README

From the repo.

Multimate MCP Server

A comprehensive Model Context Protocol (MCP) server deployed on Vercel that provides AI assistants with tools to interact with:

  • Telegram — Send & read messages, list chat participants
  • Slack — Read history, send messages, list channels & users
  • Notion — Read/write pages, databases, blocks
  • Google Sheets — Read, edit, create, append, delete sheets
  • Google Docs — Create, read, edit, delete documents
  • Google Calendar — List, create, update, delete events
  • Gmail — List, read, send messages
  • Web Search & Scrape — Search Google, scrape web pages (via Firecrawl)
  • n8n — List, create, update, delete, trigger workflows & executions
  • GitHub — List repos/issues/PRs, create issues, comment, commit files, check profile & notifications
  • Discord — List channels, send messages, read message history
  • Vercel — List/inspect projects & deployments, read logs, redeploy/cancel/promote, manage env vars, delete deployments/projects

🔌 Connecting AI Assistants to This MCP Server

Prerequisites

  1. Deploy this repo to Vercel (or use an existing deployment URL)
  2. (Optional) Set MCP_API_KEY environment variable in Vercel for auth

Connection URL

https://narihito-mcp-servers.vercel.app/api/mcp

Configuring AI Clients

Claude Desktop

Edit claude_desktop_config.json:

{
  "mcpServers": {
    "multimate": {
      "url": "https://narihito-mcp-servers.vercel.app/api/mcp",
      "headers": {
        "x-api-key": "your-api-key-if-configured",
        "x-slack-token": "xoxb-...",
        "x-notion-token": "ntn_...",
        "x-telegram-session": "...",
        "x-google-access-token": "ya29...",
        "x-n8n-url": "https://...",
        "x-n8n-api-key": "...",
        "x-github-token": "ghp_...",
        "x-discord-bot-token": "...",
        "x-vercel-token": "...",
        "x-vercel-team-id": "team_... (optional, only for team-scoped accounts)"
      }
    }
  }
}
VS Code (GitHub Copilot / Cline / Continue)

Add to your VS Code settings or .vscode/mcp.json:

{
  "servers": {
    "multimate": {
      "type": "url",
      "url": "https://narihito-mcp-servers.vercel.app/api/mcp",
      "headers": {
        "x-api-key": "your-api-key-if-configured",
        "x-slack-token": "xoxb-...",
        "x-notion-token": "ntn_..."
      }
    }
  }
}
Cursor

In Cursor settings → MCP Servers → Add new:

  • Name: multimate
  • Type: url
  • URL: https://narihito-mcp-servers.vercel.app/api/mcp
  • Headers: (as JSON)
Claude Code (CLI)
claude mcp add multimate --url https://narihito-mcp-servers.vercel.app/api/mcp \
  --header "x-api-key=..." \
  --header "x-slack-token=..."

🛠 Available Tools

Telegram

ToolDescription
send_messageSend a Telegram message to a user/group
fetch_messageFetch recent messages from a Telegram chat
fetch_chat_userList participants in a Telegram chat
get_infoGet info about a Telegram entity
list_chatsList all dialogs (users, groups, channels) with their ID, name, and type
resolve_chatLook up a chat by @username to get its numeric ID

Slack

ToolDescription
read_slack_historyRead messages from a Slack channel
send_slack_messagePost a message to a Slack channel
list_conversationsList accessible Slack conversations
get_user_infoGet details about a Slack user
get_team_infoGet Slack workspace/team info

Notion

ToolDescription
read_notion_pageRead a Notion page's title and content blocks
update_notion_pageUpdate a Notion page title or archive it
append_notion_blocksAppend content blocks to a Notion page
create_new_pageCreate a new Notion page under a parent
create_notion_databaseCreate a Notion database with custom properties
query_notion_databaseQuery a Notion database with filters & sorting
add_notion_database_rowAdd a row/entry to a Notion database

Google Sheets

ToolDescription
google_sheets_readRead data from a Google Sheet range
google_sheets_editEdit cells in a Google Sheet
google_sheets_deleteClear data from a Sheet range
google_sheets_createCreate a new Google Spreadsheet
google_sheets_add_sheetAdd a new sheet tab to a spreadsheet
google_sheets_appendAppend rows to a Google Sheet

Google Docs

ToolDescription
google_docs_createCreate a new Google Doc with optional content
google_docs_readRead a Google Doc's content as structured blocks
google_docs_delete_filePermanently delete a Google Doc
google_docs_editEdit a Google Doc with content blocks & formatting

Google Calendar

ToolDescription
google_calendar_list_eventsList upcoming events in a time range
google_calendar_create_eventCreate a new calendar event
google_calendar_update_eventUpdate an existing calendar event
google_calendar_delete_eventPermanently delete a calendar event

Gmail

ToolDescription
gmail_list_messagesList messages matching a search query
gmail_read_messageRead the full content of a message by ID
gmail_send_messageSend a message with an AI-designed HTML layout
gmail_reply_messageReply to an existing message thread

Web

ToolDescription
web_searchSearch the web using Google
web_scrapeScrape a URL and return full content as markdown

n8n (Workflow Automation)

ToolDescription
n8n_list_workflowsList all workflows in n8n
n8n_get_workflowGet detailed workflow info
n8n_create_workflowCreate a new workflow
n8n_update_workflowUpdate an existing workflow
n8n_delete_workflowDelete a workflow
n8n_activate_workflowActivate/enable a workflow
n8n_deactivate_workflowDeactivate/disable a workflow
n8n_trigger_workflowManually execute/trigger a workflow
n8n_list_executionsList recent workflow executions
n8n_get_executionGet detailed execution info
n8n_retry_executionRetry a failed execution
n8n_list_credentialsList available n8n credentials
n8n_trigger_webhookTrigger an n8n webhook URL directly with a JSON payload (works even without REST API access, e.g. Cloud Free)

GitHub

ToolDescription
list_reposList the authenticated user's repositories
list_issuesList issues in a repository, filtered by state
create_issueCreate a new issue
comment_issueAdd a comment to an existing issue
list_pull_requestsList pull requests in a repository, filtered by state
get_profileGet the authenticated user's GitHub profile
list_notificationsList unread (or all) notifications
commit_fileCreate or update a file and commit it directly to a branch

Discord

ToolDescription
discord_list_channelsList channels in a guild
discord_send_messageSend a message to a channel
discord_read_messagesRead recent messages from a channel

Vercel

ToolDescription
vercel_list_projectsList all projects in the account/team
vercel_get_projectGet full details of a project
vercel_list_deploymentsList recent deployments, optionally filtered by project
vercel_get_deploymentGet full details of a deployment
vercel_get_deployment_logsGet the build/runtime event log for a deployment
vercel_list_domainsList domains configured across the account/team
vercel_redeployRedeploy an existing deployment
vercel_cancel_deploymentCancel a deployment that is currently building
vercel_promote_deploymentPoint production traffic at a specific deployment
vercel_list_envList a project's environment variable names/targets/types (values are never returned)
vercel_add_envAdd a new environment variable to a project
vercel_update_envUpdate an existing environment variable
vercel_remove_envRemove an environment variable
vercel_delete_deploymentPermanently delete a deployment
vercel_delete_projectPermanently delete a project and all its deployments

📦 Authentication Headers

Each service requires specific headers. Pass them when connecting your AI client:

HeaderServiceHow to Get
x-slack-tokenSlackSlack App → OAuth & Permissions → User OAuth Token
x-notion-tokenNotionNotion Integrations page → Internal Integration Secret
x-telegram-sessionTelegramTelegram API session string (from MTProto login)
x-google-access-tokenGoogle APIsOAuth 2.0 access token (short-lived, scoped to spreadsheets/drive/documents/calendar/gmail)
x-n8n-urln8nYour n8n instance base URL (e.g. https://n8n.example.com)
x-n8n-api-keyn8nn8n API key (alternative to cookie auth)
x-n8n-cookien8nn8n session cookie (alternative to API key)
x-github-tokenGitHubGitHub personal access token or OAuth token
x-discord-bot-tokenDiscordDiscord bot token
x-vercel-tokenVercelVercel OAuth access token (from the Integration token exchange)
x-vercel-team-idVercelTeam ID, required only when the connection is team-scoped (personal accounts omit it)
x-api-key(optional auth)Set via MCP_API_KEY env variable on Vercel

Environment Variables

Set these in the Vercel project (or a local .env for vercel dev):

VariablePurpose
MCP_API_KEYOptional shared key gating this server itself (checked against the x-api-key header). If unset, the server is open to anyone with the URL.
TELEGRAM_API_ID / TELEGRAM_API_HASHTelegram MTProto app credentials, required for every Telegram tool call
FIRECRAWL_API_KEYPicked up implicitly by the Firecrawl SDK (new Firecrawl()) for web_search/web_scrape — not referenced directly in code, but required for those tools to work

🚀 Local Development

# Install dependencies
npm install

# Run with Vercel dev server
npm run dev

The MCP endpoint will be available at http://localhost:3000/api/mcp.


📁 Project Structure

├── api/
│   ├── mcp.ts              # Main MCP server handler (Vercel serverless)
│   ├── middleware.ts        # Auth & rate limiting middleware
│   ├── types.d.ts           # TypeScript declarations
│   ├── lib/
│   │   └── firecrawl.ts     # Firecrawl (web scraping) client
│   └── tools/
│       ├── index.ts         # All tool registrations (Telegram, Slack, Notion,
│       │                    #  Google, n8n, GitHub, Discord, Vercel, web)
│       └── helpers.ts       # Shared utilities (Google auth, Notion blocks, etc.)
├── vercel.json              # Vercel deployment config
├── package.json
└── tsconfig.json

Collected info

  • ★ 4 stars
  • Language: TypeScript
  • Source updated: 9/18/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.