Skip to content

Commit edb48e4

Browse files
authored
Merge pull request #1 from flippercloud/jnunemaker/flipper-cloud-mcp
Build Flipper Cloud MCP server
2 parents 9b57036 + dbefe30 commit edb48e4

9 files changed

Lines changed: 2988 additions & 3 deletions

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ out
8080

8181
# Nuxt.js build / generate output
8282
.nuxt
83-
dist
83+
# dist - keeping for npm package
8484

8585
# Gatsby files
8686
.cache/

.npmignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
src/
2+
tsconfig.json
3+
.context/
4+
*.tsbuildinfo

README.md

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,68 @@
1-
# flipper-mcp
2-
WIP
1+
# Flipper Cloud MCP Server
2+
3+
A [Model Context Protocol](https://modelcontextprotocol.io) server for [Flipper Cloud](https://www.flippercloud.io) feature flags. Lets AI assistants like Claude read and manage your feature flags.
4+
5+
## Setup
6+
7+
### 1. Get your token
8+
9+
Go to your environment in [Flipper Cloud](https://www.flippercloud.io), then **Settings > Credentials** to create a token.
10+
11+
- **Read-only tokens** can list features, view details, and check telemetry
12+
- **Read-write tokens** can also enable/disable features, manage actors, groups, and expressions
13+
14+
### 2. Connect to your AI tool
15+
16+
#### Claude Code
17+
18+
```bash
19+
claude mcp add flipper-cloud -e FLIPPER_CLOUD_TOKEN=<your-token> -- npx -y @flippercloud/mcp
20+
```
21+
22+
## Available Tools
23+
24+
### Read
25+
26+
| Tool | Description |
27+
|------|-------------|
28+
| `list_features` | List all feature flags |
29+
| `get_feature` | Get details for a specific feature |
30+
| `get_audits` | View audit log of recent changes |
31+
| `get_telemetry_summary` | Telemetry overview across features |
32+
| `get_feature_telemetry` | Detailed telemetry for a single feature |
33+
34+
### Write (require read-write token)
35+
36+
| Tool | Description |
37+
|------|-------------|
38+
| `create_feature` | Create a new feature flag |
39+
| `delete_feature` | Permanently delete a feature flag |
40+
| `enable_feature` / `disable_feature` | Toggle a feature globally |
41+
| `enable_actor` / `disable_actor` | Enable/disable for a specific actor |
42+
| `enable_group` / `disable_group` | Enable/disable for a group |
43+
| `enable_percentage_of_actors` / `disable_percentage_of_actors` | Percentage rollouts |
44+
| `enable_expression` / `disable_expression` | Expression-based targeting |
45+
46+
## Examples
47+
48+
Ask Claude things like:
49+
50+
- "List all my feature flags"
51+
- "Enable the new_checkout feature for user 123"
52+
- "Roll out dark_mode to 25% of users"
53+
- "Enable premium_features for users where plan equals 'pro'"
54+
- "What's the telemetry for search over the last week?"
55+
- "Show me recent audit history for dark_mode"
56+
57+
## Development
58+
59+
```bash
60+
npm install
61+
npm run dev # run with tsx
62+
npm run build # compile typescript
63+
npm start # run compiled
64+
```
65+
66+
## License
67+
68+
MIT

dist/index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/usr/bin/env node
2+
export {};

0 commit comments

Comments
 (0)