Skip to content

Commit 3872ec3

Browse files
authored
feat: Added cursor plugin config files (#15)
1 parent 02bcfb4 commit 3872ec3

5 files changed

Lines changed: 84 additions & 0 deletions

File tree

‎.cursor-plugin/plugin.json‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "parseable",
3+
"displayName": "Parseable",
4+
"version": "0.2.14",
5+
"description": "Query and manage Parseable logs, metrics, datasets, and alerts from Cursor.",
6+
"author": {
7+
"name": "Parseable"
8+
},
9+
"publisher": "Parseable",
10+
"homepage": "https://www.parseable.com",
11+
"repository": "https://github.com/parseablehq/parseable-mcp-server",
12+
"license": "Apache-2.0",
13+
"logo": "assets/logo.svg",
14+
"keywords": [
15+
"parseable",
16+
"observability",
17+
"logs",
18+
"metrics",
19+
"alerts",
20+
"mcp"
21+
],
22+
"category": "developer-tools",
23+
"tags": [
24+
"observability",
25+
"monitoring",
26+
"mcp"
27+
],
28+
"mcpServers": "./mcp.json"
29+
}

‎README.md‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,35 @@ npx -y @parseable/parseable-mcp-server init \
3232

3333
Supported `--client` values: `claude-desktop`, `cursor`.
3434

35+
### Cursor Marketplace plugin
36+
37+
The repository also contains a native Cursor plugin manifest. Marketplace installs connect to `https://mcp.parseable.com/mcp` and read credentials from the environment.
38+
39+
Set these variables before starting Cursor:
40+
41+
```bash
42+
export PARSEABLE_URL="https://your-parseable.example.com"
43+
export PARSEABLE_API_KEY="your-api-key"
44+
export PARSEABLE_MODE="self-hosted"
45+
```
46+
47+
`PARSEABLE_API_KEY` and `PARSEABLE_MODE` are required by the Cursor plugin. Use `PARSEABLE_MODE=cloud` and omit `PARSEABLE_URL` for Parseable Cloud. Use `PARSEABLE_MODE=self-hosted` with `PARSEABLE_URL` for self-hosted Parseable.
48+
49+
```bash
50+
# Parseable Cloud
51+
export PARSEABLE_MODE="cloud"
52+
export PARSEABLE_API_KEY="your-cloud-api-key"
53+
unset PARSEABLE_URL
54+
```
55+
56+
Then install the Parseable plugin from the Cursor Marketplace. If Cursor was opened from the macOS dock or another GUI launcher that does not inherit shell variables, use the interactive setup instead:
57+
58+
```bash
59+
npx -y @parseable/parseable-mcp-server init --client cursor
60+
```
61+
62+
Plugin metadata lives in `.cursor-plugin/plugin.json`; its MCP connection configuration lives in `mcp.json`. Keep the plugin version aligned with the npm package version when releasing.
63+
3564
---
3665

3766
## Quickstart — HTTP (hosted)

‎assets/logo.svg‎

Lines changed: 7 additions & 0 deletions
Loading

‎mcp.json‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"mcpServers": {
3+
"parseable": {
4+
"type": "http",
5+
"url": "https://mcp.parseable.com/mcp",
6+
"headers": {
7+
"X-API-Key": "${env:PARSEABLE_API_KEY}",
8+
"X-Parseable-Mode": "${env:PARSEABLE_MODE}",
9+
"X-Parseable-URL": "${env:PARSEABLE_URL}"
10+
}
11+
}
12+
}
13+
}

‎test/auth.test.ts‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,12 @@ describe("parseRequestAuth", () => {
107107
);
108108
});
109109

110+
it("requires URL when self-hosted mode is explicit", () => {
111+
expect(() =>
112+
parseRequestAuth({ "x-parseable-mode": "self-hosted", "x-api-key": "secret" }),
113+
).toThrow(/X-Parseable-URL/);
114+
});
115+
110116
it("rejects unknown mode", () => {
111117
expect(() => parseRequestAuth({ ...goodHeaders, "x-parseable-mode": "enterprise" })).toThrow(
112118
/cloud or self-hosted/,

0 commit comments

Comments
 (0)