grok-connector
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@grok-connectorGive me the analytics overview for my main website for the last 7 days."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Flowsery remote MCP server
A hosted, read-only MCP server for Flowsery. It puts your analytics and AI-detected issues inside whatever agent you already use. Grok, Claude, ChatGPT, Cursor, or anything else that speaks MCP over Streamable HTTP.
It runs as one Cloudflare Worker with no dependencies. Every tool is a GET against the Flowsery Analytics API. Nothing in here can create, update or delete anything.
If you want to run MCP locally over stdio instead, use flowsery-mcp. This repo is the hosted counterpart for agents that only accept a URL.
What you get
17 read-only tools |
|
1 workspace key | A |
3 prompts | A system prompt, a Monday health report, and a what broke this week triage prompt. They work in any agent. |
Related MCP server: FoxTrove Voice MCP Server
Setup, about 20 minutes
1. Create a Flowsery API token
In Flowsery, open the workspace API Tokens page and create a token. It starts with flow_ws_ and reaches every website in the workspace, so every call needs a websiteId or domain. The agent gets those from list_websites.
A website API key from Settings > API also works. It starts with flow_ and is already scoped to one site, so no websiteId is needed. Either secret is shown once. Copy it right away.
2. Deploy the worker
git clone https://github.com/Flowsery/remote-mcp.git
cd remote-mcp
npm install
npx wrangler login
npx wrangler deployThen set the two secrets. FLOWSERY_KEY is your Flowsery token. CONNECTOR_SECRET is any long random string you invent, and it is what your agent will present to the worker.
npx wrangler secret put FLOWSERY_KEY
npx wrangler secret put CONNECTOR_SECRETA quick way to mint the connector secret is openssl rand -hex 32.
Your Flowsery key never leaves the worker. The agent only ever sees the connector secret.
Deploy prints your worker URL, something like https://flowsery-mcp.<you>.workers.dev.
3. Check it
CONNECTOR_URL=https://flowsery-mcp.<you>.workers.dev \
CONNECTOR_SECRET=<your secret> \
npm run smokeThe smoke test runs initialize, counts the tools (expect 17), calls list_websites, and confirms a wrong secret gets a 401. If list_websites returns your domains, everything downstream works.
4. Connect your agent
The worker accepts the connector secret two ways. As a Bearer header, Authorization: Bearer <CONNECTOR_SECRET>, or as the last path segment of the URL, https://flowsery-mcp.<you>.workers.dev/<CONNECTOR_SECRET>. Use the header where the client has an auth field. Fall back to the path form where it does not.
Grok. Go to grok.com/connectors, choose New Connector, pick Custom, paste the worker URL, and put the connector secret in the authentication field. If it saves but no tools show up, Grok did not send the header. Use the path form of the URL instead.
Claude (claude.ai). Settings, Connectors, Add custom connector. Paste the path form of the URL. Claude's custom connector flow expects OAuth or no auth, so the secret goes in the URL.
Claude Code.
claude mcp add --transport http flowsery https://flowsery-mcp.<you>.workers.dev \
--header "Authorization: Bearer <CONNECTOR_SECRET>"ChatGPT. Settings, Connectors, Advanced, Developer mode, then Create. Paste the path form of the URL and pick No authentication.
Cursor. Add to .cursor/mcp.json:
{
"mcpServers": {
"flowsery": {
"url": "https://flowsery-mcp.<you>.workers.dev",
"headers": { "Authorization": "Bearer <CONNECTOR_SECRET>" }
}
}
}Anything else. POST JSON-RPC 2.0 to the worker URL. initialize, tools/list and tools/call are the methods you need. See scripts/smoke.sh for the exact bodies.
5. Paste the system prompt
Copy prompts/system-prompt.md into the agent's custom instructions, then ask it "list my websites". Then try the Monday report as a recurring task and what broke this week whenever something feels off.
Things that trip people up
The API sort order is not impact. list_issues sorts by severity (default) or recency. A medium issue that hit 140 sessions is usually more expensive than a critical that hit 3. The system prompt tells the agent to re-rank on sessionsCount every time. Skip that instruction and you get the same order your dashboard already shows.
Workspace tokens need a website selector. With a flow_ws_ token, every call except list_websites needs websiteId or domain. A flow_ website key does not, because it is already scoped.
Dates default to the last 30 days. Send startAt and endAt together for a specific range. Omit both for the trailing 30 days.
get_timeseries needs fields. It also takes interval (hour, day, week, month). The worker rejects a call without fields before it reaches Flowsery.
Filter values are case-sensitive. filter_device=Mobile works, filter_device=mobile returns an empty list. Use the values the segment tools return (Mobile, Chrome, Android).
Nothing here writes. If you want status changes and draft PRs, that happens in Flowsery itself.
Local development
cp .dev.vars.example .dev.vars # fill in both values
npm run dev # http://localhost:8787
CONNECTOR_URL=http://localhost:8787 CONNECTOR_SECRET=<value from .dev.vars> npm run smokeDeploy from GitHub Actions
.github/workflows/deploy.yml deploys when you trigger it from the Actions tab. Add CLOUDFLARE_API_TOKEN (Workers Scripts: Edit) and CLOUDFLARE_ACCOUNT_ID as repository secrets. Worker secrets still need to be set once with wrangler secret put.
How it works
Any MCP client --JSON-RPC over HTTPS--> Cloudflare Worker --GET + Bearer flow_ws_--> analytics.flowsery.comThe worker handles initialize, ping, tools/list and tools/call. Each tool maps to one GET on the Flowsery API. Arguments become query parameters, except issueId, which is substituted into the path. Responses are passed back verbatim as JSON text. Errors from Flowsery are returned with isError: true and the status code, so the agent can say what went wrong instead of guessing.
License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only MCP server for AIStatusDashboard status, incidents, metrics, and fallback recommendations.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Read-only MCP server for Muovi, Argentina's trust-first local services marketplace (6 tools).
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Related MCP Servers
- AlicenseAqualityBmaintenanceAn MCP server that gives AI agents direct read-only access to PostgreSQL databases, enabling natural language analytics through tools for schema exploration, querying, trend analysis, and data quality checks.115MIT
- AlicenseNot gradedqualityDmaintenancePublic read-only MCP server for FoxTrove Voice, enabling LLMs to query call logs, customer records, assistant stats, and analytics via secure OAuth.MIT
- FlicenseAqualityDmaintenanceRead-only MCP server for Wealify KPI dashboard that allows AI agents to query KPI data, scoring status, alerts, member performance, and rubric documents via predefined tools and REST endpoints.13-
- FlicenseNot gradedqualityCmaintenanceRead-only MCP server exposing Microsoft Clarity analytics data as tools for ChatGPT Agent Builder.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Flowsery/remote-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server