@flowrelay/mcp-server 1.0.22 → 1.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -37
- package/dist/index.js +10 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Flow Relay MCP Server
|
|
2
2
|
|
|
3
|
-
Flow Relay MCP Server adds project-aware, multi-tenant Flow Relay tools to MCP clients such as Claude Desktop
|
|
3
|
+
Flow Relay MCP Server adds project-aware, multi-tenant Flow Relay tools to MCP clients such as Claude Desktop, Claude Code, Cursor and Windsurf.
|
|
4
4
|
|
|
5
5
|
It connects to Flow Relay API v1 using an API key and supports:
|
|
6
6
|
|
|
@@ -9,47 +9,71 @@ It connects to Flow Relay API v1 using an API key and supports:
|
|
|
9
9
|
## Package
|
|
10
10
|
|
|
11
11
|
- Name: @flowrelay/mcp-server
|
|
12
|
-
- Version: 1.0.
|
|
12
|
+
- Version: 1.0.24
|
|
13
|
+
|
|
14
|
+
## Supported Sources (46 Integrations)
|
|
15
|
+
|
|
16
|
+
Flow Relay MCP Server supports 46 integration sources across the entire engineering lifecycle:
|
|
17
|
+
|
|
18
|
+
- **Code & Version Control**: `github`, `gitlab`, `bitbucket`, `azure_devops` (support branch filtering)
|
|
19
|
+
- **CI/CD & Deployment**: `buildkite`, `circleci`, `vercel`, `netlify`, `render`, `railway`, `cloudflare_pages`
|
|
20
|
+
- **Issue Tracking & Project Management**: `linear`, `jira`, `clickup`, `monday_com`, `shortcut`, `asana`
|
|
21
|
+
- **Observability & Incidents**: `sentry`, `datadog`, `pagerduty`, `incident_io`, `grafana`, `new_relic`
|
|
22
|
+
- **Product Analytics**: `posthog`
|
|
23
|
+
- **Security & Code Quality**: `snyk`, `sonarqube`
|
|
24
|
+
- **Feature Flags & Infrastructure**: `launchdarkly`, `hcp_terraform`
|
|
25
|
+
- **Meetings & Collaboration**: `fireflies`, `zoom`, `google_calendar`, `miro`
|
|
26
|
+
- **Customer Support**: `intercom`, `zendesk`, `jira_service_management`
|
|
27
|
+
- **CRM**: `hubspot`, `salesforce`
|
|
28
|
+
- **Communication & Email**: `slack`, `discord`, `microsoft_teams`, `microsoft_outlook`, `gmail`
|
|
29
|
+
- **Documents & Design**: `notion`, `confluence`, `google_drive`, `figma`
|
|
13
30
|
|
|
14
31
|
## What Is Included
|
|
15
32
|
|
|
16
|
-
The server currently exposes
|
|
17
|
-
|
|
18
|
-
- get_workspace_context
|
|
19
|
-
- list_projects
|
|
20
|
-
- set_active_project
|
|
21
|
-
- list_filter_options
|
|
22
|
-
- list_handoffs
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
- list_digests
|
|
30
|
-
- list_insights
|
|
31
|
-
- list_integrations
|
|
32
|
-
- list_events
|
|
33
|
-
- list_untracked_resources
|
|
34
|
-
- discord_list_channels
|
|
35
|
-
- discord_send_message
|
|
33
|
+
The server currently exposes 18 tools:
|
|
34
|
+
|
|
35
|
+
- `get_workspace_context`: Show current Flow Relay context (account mode, organizations count, accessible projects count, active project scope and caller role).
|
|
36
|
+
- `list_projects`: List every accessible project (personal and organization) with id, scope and role.
|
|
37
|
+
- `set_active_project`: Set or clear the active project for subsequent tool calls so `project_id` can be omitted.
|
|
38
|
+
- `list_filter_options`: List selectable resources (projects/repos/channels/boards), branches, event types and priorities per source for a project. Call this before generating so handoff and insight filters use real values instead of guesses. Also reports whether Figma visual context is selectable (requires Global processing region).
|
|
39
|
+
- `list_handoffs`: List handoffs for the active project or across accessible projects. Filter by status (`active`, `archived` or `all`). Outputs server-rendered Markdown.
|
|
40
|
+
- `generate_handoff`: Generate an async handoff with automated polling until completion. Requires active project or explicit `project_id`. Accepts per-source `filters` (`projects`, `eventTypes`, `branches`, `priorities`).
|
|
41
|
+
- `generate_correlation_insight`: Generate a cross-source correlation insight. Accepts per-source `filters`.
|
|
42
|
+
- `generate_onboarding_brief`: Generate an onboarding brief insight. Accepts per-source `filters`.
|
|
43
|
+
- `generate_architecture_insight`: Generate an architecture insight. Accepts per-source `filters`.
|
|
44
|
+
- `generate_release_notes`: Turn a project's merged work into release notes or a PR description (`style: 'release_notes' | 'pr_description'`). Accepts code source, repo and per-source `filters`. Costs 3 credits per run.
|
|
45
|
+
- `ask_project`: Ask one question about a project and get an answer grounded in its indexed codebase, baselines and last 14 days of activity. Answers synchronously and cites used events (`ev:...`). Costs 2 credits per question.
|
|
46
|
+
- `list_digests`: Browse scheduled activity digests of a project, newest first. Reading is free.
|
|
47
|
+
- `list_insights`: List project AI insights by kind and status.
|
|
48
|
+
- `list_integrations`: List connected integrations in personal or project scope.
|
|
49
|
+
- `list_events`: Browse recent events in personal or project scope.
|
|
50
|
+
- `list_untracked_resources`: List event-producing resources not scoped to any project (useful for discovering unassigned activity).
|
|
51
|
+
- `discord_list_channels`: List text channels in connected Discord servers.
|
|
52
|
+
- `discord_send_message`: Send a Discord message – plain text, or attach a rendered Markdown artifact (`last_handoff`, `last_correlation`, `last_onboarding`, `last_architecture` or `last_release_notes`) as a `.md` file.
|
|
53
|
+
|
|
54
|
+
### Filter Dimensions
|
|
55
|
+
|
|
56
|
+
When calling `generate_handoff`, insight tools or `generate_release_notes`, per-source `filters` accept:
|
|
57
|
+
|
|
58
|
+
- `projects`: Resource ids from `list_filter_options[source].projects` (repos, channels, boards, spaces, services, sites, projects).
|
|
59
|
+
- `eventTypes`: Event-type values from `list_filter_options` (e.g. `push`, `issue_created`, `workflow_job`).
|
|
60
|
+
- `branches`: Git branch names (`main`, `develop`) – git sources only (`github`, `gitlab`, `bitbucket`, `azure_devops`).
|
|
61
|
+
- `priorities`: Priority values – supported on `jira`, `linear`, `sentry`, `pagerduty`, `incident_io`, `clickup`, `zendesk`, `snyk` and `grafana`.
|
|
36
62
|
|
|
37
63
|
## Environment Variables
|
|
38
64
|
|
|
39
65
|
Required:
|
|
40
66
|
|
|
41
|
-
- FLOWRELAY_API_KEY
|
|
67
|
+
- `FLOWRELAY_API_KEY`: Your Flow Relay API key (`fr_...`).
|
|
42
68
|
|
|
43
69
|
Optional:
|
|
44
70
|
|
|
45
|
-
- FLOWRELAY_PROJECT_ID
|
|
46
|
-
- FLOWRELAY_BASE_URL
|
|
47
|
-
|
|
48
|
-
If FLOWRELAY_PROJECT_ID is set, it becomes the default project context for project-aware tools unless you override it per call.
|
|
71
|
+
- `FLOWRELAY_PROJECT_ID`: Initial active project context for project-aware tools.
|
|
72
|
+
- `FLOWRELAY_BASE_URL`: Base URL of the Flow Relay API (defaults to `https://www.flowrelay.it`).
|
|
49
73
|
|
|
50
74
|
## Quick Start (Claude Desktop)
|
|
51
75
|
|
|
52
|
-
Add this to your claude_desktop_config.json
|
|
76
|
+
Add this to your `claude_desktop_config.json`:
|
|
53
77
|
|
|
54
78
|
```json
|
|
55
79
|
{
|
|
@@ -69,15 +93,16 @@ Add this to your claude_desktop_config.json:
|
|
|
69
93
|
## Multi-Tenant Behavior
|
|
70
94
|
|
|
71
95
|
- Every handoff and insight is tied to a project; you need an active project (`set_active_project`) or `project_id`. Events and integrations remain user-level.
|
|
72
|
-
- You can select a project during the MCP session with set_active_project
|
|
73
|
-
- You can override scope per call by passing project_id where supported.
|
|
96
|
+
- You can select a project during the MCP session with `set_active_project`.
|
|
97
|
+
- You can override scope per call by passing `project_id` where supported.
|
|
74
98
|
|
|
75
99
|
Recommended flow:
|
|
76
100
|
|
|
77
|
-
1. Call get_workspace_context
|
|
78
|
-
2. Call list_projects
|
|
79
|
-
3. Call set_active_project
|
|
80
|
-
4.
|
|
101
|
+
1. Call `get_workspace_context`
|
|
102
|
+
2. Call `list_projects`
|
|
103
|
+
3. Call `set_active_project`
|
|
104
|
+
4. Call `list_filter_options` to inspect selectable resources
|
|
105
|
+
5. Run handoff, insight, Q&A and query tools in the selected scope
|
|
81
106
|
|
|
82
107
|
## Local Development
|
|
83
108
|
|
|
@@ -96,16 +121,17 @@ npm pack
|
|
|
96
121
|
|
|
97
122
|
## Troubleshooting
|
|
98
123
|
|
|
99
|
-
- Error: Missing FLOWRELAY_API_KEY
|
|
100
|
-
- Set FLOWRELAY_API_KEY in your MCP client configuration.
|
|
124
|
+
- Error: Missing `FLOWRELAY_API_KEY`
|
|
125
|
+
- Set `FLOWRELAY_API_KEY` in your MCP client configuration.
|
|
101
126
|
- Project not found or inaccessible
|
|
102
|
-
- Run list_projects and use one of the returned IDs.
|
|
127
|
+
- Run `list_projects` and use one of the returned IDs.
|
|
103
128
|
- No events or handoffs returned
|
|
104
129
|
- Verify active scope and data availability in that scope.
|
|
105
130
|
|
|
106
131
|
## Related Docs
|
|
107
132
|
|
|
108
133
|
- Documentation & Platform: https://www.flowrelay.it
|
|
134
|
+
- MCP Documentation: https://www.flowrelay.it/docs/mcp
|
|
109
135
|
|
|
110
136
|
## License
|
|
111
137
|
|
package/dist/index.js
CHANGED
|
@@ -50,13 +50,22 @@ const SOURCES = [
|
|
|
50
50
|
'grafana',
|
|
51
51
|
'google_calendar',
|
|
52
52
|
'google_drive',
|
|
53
|
+
'launchdarkly',
|
|
54
|
+
'hcp_terraform',
|
|
55
|
+
'sonarqube',
|
|
56
|
+
'miro',
|
|
57
|
+
'new_relic',
|
|
58
|
+
'jira_service_management',
|
|
59
|
+
'posthog',
|
|
60
|
+
'hubspot',
|
|
61
|
+
'salesforce',
|
|
53
62
|
];
|
|
54
63
|
const SourceEnum = z.enum(SOURCES);
|
|
55
64
|
const SourceFilterSchema = z.object({
|
|
56
65
|
projects: z.array(z.string()).optional().describe('Resource ids from list_filter_options[source].projects (repos, channels, boards). Use the exact id, not the display label.'),
|
|
57
66
|
eventTypes: z.array(z.string()).optional().describe('Event-type values from list_filter_options (e.g. "push", "issue_created"). Case-sensitive; provider-driven. A value that does not exist matches no events (it is not rejected).'),
|
|
58
67
|
branches: z.array(z.string()).optional().describe('Git branch names (e.g. "main", "develop") – git sources only (github, gitlab, bitbucket, azure_devops). Using this on a non-git source is a 400.'),
|
|
59
|
-
priorities: z.array(z.string()).optional().describe('Priority values from list_filter_options (e.g. "high", "urgent") – jira, linear, sentry, pagerduty, incident_io, clickup, zendesk, snyk, grafana only. Using this on another source is a 400; unrecognized values simply match no events.'),
|
|
68
|
+
priorities: z.array(z.string()).optional().describe('Priority values from list_filter_options (e.g. "high", "urgent") – jira, jira_service_management, linear, sentry, pagerduty, incident_io, clickup, zendesk, snyk, grafana, new_relic, hubspot, salesforce only. Using this on another source is a 400; unrecognized values simply match no events.'),
|
|
60
69
|
});
|
|
61
70
|
const FiltersSchema = z.record(z.string(), SourceFilterSchema)
|
|
62
71
|
.optional()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowrelay/mcp-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.24",
|
|
4
4
|
"description": "Flow Relay MCP Server for Claude Desktop and Claude Code – handoffs, integrations and context events via natural conversation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "AGPL-3.0-or-later",
|