observability-toolkit 1.0.0 → 1.1.0

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 CHANGED
@@ -1,11 +1,11 @@
1
- # @alyshia/observability-toolkit
1
+ # observability-toolkit
2
2
 
3
- MCP server for observability tooling - query traces, metrics, and logs from local JSONL files or SigNoz Cloud for Claude Code sessions.
3
+ MCP server for observability tooling - query traces, metrics, and logs from local JSONL files for Claude Code sessions. Optionally integrates with SigNoz Cloud for enhanced observability.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- claude mcp add observability-toolkit -- npx -y @alyshia/observability-toolkit
8
+ claude mcp add observability-toolkit -- npx -y observability-toolkit
9
9
  ```
10
10
 
11
11
  Or for local development:
@@ -23,15 +23,18 @@ claude mcp add observability-toolkit -- node ~/.claude/mcp-servers/observability
23
23
  | `obs_query_logs` | Query logs by severity, search text, trace ID |
24
24
  | `obs_health_check` | Check telemetry system health |
25
25
  | `obs_context_stats` | Get context window utilization stats |
26
- | `obs_get_trace_url` | Get SigNoz trace viewer URL |
26
+ | `obs_get_trace_url` | Get SigNoz trace viewer URL (requires SigNoz) |
27
+ | `obs_setup_claudeignore` | Add telemetry/ to .claudeignore |
27
28
 
28
29
  ## Configuration
29
30
 
30
- Environment variables:
31
+ | Variable | Description | Required |
32
+ |----------|-------------|----------|
33
+ | `TELEMETRY_DIR` | Local telemetry directory | No (default: `~/.claude/telemetry`) |
34
+ | `SIGNOZ_URL` | SigNoz instance URL | No (enables SigNoz integration) |
35
+ | `SIGNOZ_API_KEY` | SigNoz API key | No (required if using SigNoz) |
31
36
 
32
- - `TELEMETRY_DIR` - Local telemetry directory (default: `~/.claude/telemetry`)
33
- - `SIGNOZ_URL` - SigNoz instance URL (e.g., `https://ingest.us.signoz.cloud`)
34
- - `SIGNOZ_API_KEY` - SigNoz API key for authentication
37
+ The server works standalone with local JSONL files. SigNoz integration is optional.
35
38
 
36
39
  ## Usage Examples
37
40
 
@@ -77,22 +80,32 @@ obs_context_stats({ sessionId: "abc123...", includeCost: true })
77
80
  obs_get_trace_url({ traceId: "abc123..." })
78
81
  ```
79
82
 
83
+ ### Setup .claudeignore
84
+
85
+ ```
86
+ obs_setup_claudeignore({})
87
+ obs_setup_claudeignore({ dryRun: true })
88
+ obs_setup_claudeignore({ entry: "telemetry/", path: "/path/to/.claudeignore" })
89
+ ```
90
+
80
91
  ## Data Sources
81
92
 
82
- ### Local JSONL
93
+ ### Local JSONL (Default)
83
94
 
84
95
  Reads telemetry data from `~/.claude/telemetry/`:
85
96
  - `traces-YYYY-MM-DD.jsonl` - Trace spans
86
97
  - `logs-YYYY-MM-DD.jsonl` - Log records
87
98
  - `metrics-YYYY-MM-DD.jsonl` - Metric data points
88
99
 
89
- ### SigNoz Cloud
100
+ ### SigNoz Cloud (Optional)
90
101
 
91
- Queries SigNoz Cloud API when configured:
102
+ When `SIGNOZ_URL` and `SIGNOZ_API_KEY` are configured, queries SigNoz Cloud API:
92
103
  - Traces: `/api/v3/traces`
93
104
  - Logs: `/api/v3/logs`
94
105
  - Metrics: `/api/v3/query_range`
95
106
 
107
+ Use `backend: "signoz"` in queries to explicitly use SigNoz, or `backend: "auto"` to try both.
108
+
96
109
  ## Development
97
110
 
98
111
  ```bash
@@ -102,6 +115,4 @@ npm run build
102
115
  npm run start
103
116
  ```
104
117
 
105
- ## License
106
118
 
107
- MIT
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,aAAa,QAA8D,CAAC;AAGzF,eAAO,MAAM,UAAU,QAA0E,CAAC;AAClG,eAAO,MAAM,cAAc,QAAmC,CAAC;AAG/D,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAGX,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAG1C,eAAO,MAAM,eAAe,OAAO,CAAC;AAGpC,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAI3E,CAAC;AAGF,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,aAAa,QAAiF,CAAC;AAG5G,eAAO,MAAM,UAAU,QAA0E,CAAC;AAClG,eAAO,MAAM,cAAc,QAAmC,CAAC;AAG/D,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAGX,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAG1C,eAAO,MAAM,eAAe,OAAO,CAAC;AAGpC,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAI3E,CAAC;AAGF,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC"}
@@ -2,9 +2,10 @@
2
2
  * Constants for observability-toolkit MCP server
3
3
  */
4
4
  import { join } from 'path';
5
- // Paths
5
+ import { expandTilde } from './file-utils.js';
6
+ // Paths - expand tilde in case TELEMETRY_DIR is set to ~/... (tilde doesn't expand in JSON/env)
6
7
  export const CLAUDE_HOME = join(process.env.HOME || '', '.claude');
7
- export const TELEMETRY_DIR = process.env.TELEMETRY_DIR || join(CLAUDE_HOME, 'telemetry');
8
+ export const TELEMETRY_DIR = expandTilde(process.env.TELEMETRY_DIR || '') || join(CLAUDE_HOME, 'telemetry');
8
9
  // SigNoz configuration
9
10
  export const SIGNOZ_URL = process.env.SIGNOZ_URL || process.env.OTEL_EXPORTER_OTLP_ENDPOINT || '';
10
11
  export const SIGNOZ_API_KEY = process.env.SIGNOZ_API_KEY || '';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,QAAQ;AACR,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAEzF,uBAAuB;AACvB,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC;AAClG,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AAE/D,gCAAgC;AAChC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,GAAG,EAAE,EAAE,CAAC;IAC3E,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,EAAE,EAAE,CAAC;CAC/D,CAAC;AAEX,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,mCAAmC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAsD;IAC9E,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACzD,0BAA0B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IACxD,2BAA2B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;CAC1D,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,gGAAgG;AAChG,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAE5G,uBAAuB;AACvB,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC;AAClG,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AAE/D,gCAAgC;AAChC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,GAAG,EAAE,EAAE,CAAC;IAC3E,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,EAAE,EAAE,CAAC;CAC/D,CAAC;AAEX,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,mCAAmC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAsD;IAC9E,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACzD,0BAA0B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IACxD,2BAA2B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;CAC1D,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC"}
@@ -1,6 +1,11 @@
1
1
  /**
2
2
  * File system utilities for observability-toolkit
3
3
  */
4
+ /**
5
+ * Expand tilde (~) to home directory
6
+ * Handles ~/path and ~user/path (falls back to ~ for named users)
7
+ */
8
+ export declare function expandTilde(filepath: string): string;
4
9
  /**
5
10
  * Load and parse JSON file with fallback
6
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/lib/file-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CASpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBhE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAuBtE;AAED;;GAEG;AACH,wBAAuB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAiBzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAChE,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,CAAC,EAAE,CAQL"}
1
+ {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/lib/file-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CASpD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CASpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBhE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAuBtE;AAED;;GAEG;AACH,wBAAuB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAiBzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAChE,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,CAAC,EAAE,CAQL"}
@@ -3,7 +3,21 @@
3
3
  */
4
4
  import { existsSync, readFileSync, readdirSync, statSync, createReadStream } from 'fs';
5
5
  import { join, basename } from 'path';
6
+ import { homedir } from 'os';
6
7
  import { createInterface } from 'readline';
8
+ /**
9
+ * Expand tilde (~) to home directory
10
+ * Handles ~/path and ~user/path (falls back to ~ for named users)
11
+ */
12
+ export function expandTilde(filepath) {
13
+ if (!filepath.startsWith('~'))
14
+ return filepath;
15
+ if (filepath === '~' || filepath.startsWith('~/')) {
16
+ return join(homedir(), filepath.slice(1));
17
+ }
18
+ // ~user/path - not supported, return as-is
19
+ return filepath;
20
+ }
7
21
  /**
8
22
  * Load and parse JSON file with fallback
9
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/lib/file-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/lib/file-utils.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -10,7 +10,7 @@
10
10
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
11
11
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
12
12
  import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
13
- import { queryTracesTool, queryMetricsTool, queryLogsTool, healthCheckTool, contextStatsTool, getTraceUrlTool, } from './tools/index.js';
13
+ import { queryTracesTool, queryMetricsTool, queryLogsTool, healthCheckTool, contextStatsTool, getTraceUrlTool, setupClaudeignoreTool, } from './tools/index.js';
14
14
  // Tool definitions
15
15
  const tools = [
16
16
  queryTracesTool,
@@ -19,6 +19,7 @@ const tools = [
19
19
  healthCheckTool,
20
20
  contextStatsTool,
21
21
  getTraceUrlTool,
22
+ setupClaudeignoreTool,
22
23
  ];
23
24
  // Convert Zod schema to JSON Schema for MCP
24
25
  function zodToJsonSchema(zodSchema) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,5 @@ export { queryLogsTool } from './query-logs.js';
7
7
  export { healthCheckTool } from './health-check.js';
8
8
  export { contextStatsTool } from './context-stats.js';
9
9
  export { getTraceUrlTool } from './get-trace-url.js';
10
+ export { setupClaudeignoreTool } from './setup-claudeignore.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -7,4 +7,5 @@ export { queryLogsTool } from './query-logs.js';
7
7
  export { healthCheckTool } from './health-check.js';
8
8
  export { contextStatsTool } from './context-stats.js';
9
9
  export { getTraceUrlTool } from './get-trace-url.js';
10
+ export { setupClaudeignoreTool } from './setup-claudeignore.js';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Setup .claudeignore to exclude telemetry directory
3
+ */
4
+ import { z } from 'zod';
5
+ export declare const setupClaudeignoreSchema: z.ZodObject<{
6
+ path: z.ZodOptional<z.ZodString>;
7
+ entry: z.ZodDefault<z.ZodString>;
8
+ dryRun: z.ZodDefault<z.ZodBoolean>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ entry: string;
11
+ dryRun: boolean;
12
+ path?: string | undefined;
13
+ }, {
14
+ path?: string | undefined;
15
+ entry?: string | undefined;
16
+ dryRun?: boolean | undefined;
17
+ }>;
18
+ export type SetupClaudeignoreInput = z.infer<typeof setupClaudeignoreSchema>;
19
+ interface SetupResult {
20
+ action: 'created' | 'updated' | 'unchanged' | 'dry_run';
21
+ path: string;
22
+ entry: string;
23
+ message: string;
24
+ }
25
+ export declare function setupClaudeignore(input: SetupClaudeignoreInput): Promise<SetupResult>;
26
+ export declare const setupClaudeignoreTool: {
27
+ name: string;
28
+ description: string;
29
+ inputSchema: z.ZodObject<{
30
+ path: z.ZodOptional<z.ZodString>;
31
+ entry: z.ZodDefault<z.ZodString>;
32
+ dryRun: z.ZodDefault<z.ZodBoolean>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ entry: string;
35
+ dryRun: boolean;
36
+ path?: string | undefined;
37
+ }, {
38
+ path?: string | undefined;
39
+ entry?: string | undefined;
40
+ dryRun?: boolean | undefined;
41
+ }>;
42
+ handler: typeof setupClaudeignore;
43
+ };
44
+ export {};
45
+ //# sourceMappingURL=setup-claudeignore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-claudeignore.d.ts","sourceRoot":"","sources":["../../src/tools/setup-claudeignore.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAIlC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E,UAAU,WAAW;IACnB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CA4D3F;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;CAKjC,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Setup .claudeignore to exclude telemetry directory
3
+ */
4
+ import { z } from 'zod';
5
+ import { existsSync, readFileSync, writeFileSync, appendFileSync } from 'fs';
6
+ import { join } from 'path';
7
+ import { CLAUDE_HOME } from '../lib/constants.js';
8
+ export const setupClaudeignoreSchema = z.object({
9
+ path: z.string().optional().describe('Custom path to .claudeignore (default: ~/.claude/.claudeignore)'),
10
+ entry: z.string().default('telemetry/').describe('Entry to add to .claudeignore'),
11
+ dryRun: z.boolean().default(false).describe('Preview changes without modifying files'),
12
+ });
13
+ export async function setupClaudeignore(input) {
14
+ const claudeignorePath = input.path || join(CLAUDE_HOME, '.claudeignore');
15
+ const entry = input.entry || 'telemetry/';
16
+ const dryRun = input.dryRun ?? false;
17
+ // Check if file exists
18
+ if (existsSync(claudeignorePath)) {
19
+ const content = readFileSync(claudeignorePath, 'utf-8');
20
+ const lines = content.split('\n').map(line => line.trim());
21
+ // Check if entry already exists
22
+ if (lines.includes(entry) || lines.includes(entry.replace(/\/$/, ''))) {
23
+ return {
24
+ action: 'unchanged',
25
+ path: claudeignorePath,
26
+ entry,
27
+ message: `Entry '${entry}' already exists in ${claudeignorePath}`,
28
+ };
29
+ }
30
+ // Add entry to existing file
31
+ if (dryRun) {
32
+ return {
33
+ action: 'dry_run',
34
+ path: claudeignorePath,
35
+ entry,
36
+ message: `Would append '${entry}' to ${claudeignorePath}`,
37
+ };
38
+ }
39
+ // Ensure file ends with newline before appending
40
+ const needsNewline = content.length > 0 && !content.endsWith('\n');
41
+ appendFileSync(claudeignorePath, (needsNewline ? '\n' : '') + entry + '\n');
42
+ return {
43
+ action: 'updated',
44
+ path: claudeignorePath,
45
+ entry,
46
+ message: `Added '${entry}' to ${claudeignorePath}`,
47
+ };
48
+ }
49
+ // Create new file with entry
50
+ if (dryRun) {
51
+ return {
52
+ action: 'dry_run',
53
+ path: claudeignorePath,
54
+ entry,
55
+ message: `Would create ${claudeignorePath} with '${entry}'`,
56
+ };
57
+ }
58
+ writeFileSync(claudeignorePath, `# Ignore telemetry data from Claude Code context\n${entry}\n`);
59
+ return {
60
+ action: 'created',
61
+ path: claudeignorePath,
62
+ entry,
63
+ message: `Created ${claudeignorePath} with '${entry}'`,
64
+ };
65
+ }
66
+ export const setupClaudeignoreTool = {
67
+ name: 'obs_setup_claudeignore',
68
+ description: 'Add telemetry/ to .claudeignore to exclude telemetry files from Claude Code context. Creates the file if it does not exist.',
69
+ inputSchema: setupClaudeignoreSchema,
70
+ handler: setupClaudeignore,
71
+ };
72
+ //# sourceMappingURL=setup-claudeignore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-claudeignore.js","sourceRoot":"","sources":["../../src/tools/setup-claudeignore.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "observability-toolkit",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "MCP server for observability tooling - query traces, metrics, logs from local JSONL or SigNoz",
5
5
  "type": "module",
6
6
  "main": "dist/server.js",