@deslop/scope 0.1.1137 → 0.1.1139
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 +28 -12
- package/dist/server.js +3270 -1308
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,15 +10,31 @@ codex mcp add scope --url https://scope.mp281x.xyz/mcp
|
|
|
10
10
|
codex mcp login --no-browser scope
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Trusted local exporters use `http://127.0.0.1:4318/v1/traces` and `/v1/logs` with `content-type: application/json`; never publish port 4318 to the internet. The public port serves MCP and authenticated ingestion. `HOST` changes the bind address; `PORT` changes the public port. Authorization uses Deslop Auth; no pasted API keys.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
Trusted local exporters use `http://127.0.0.1:4318/v1/traces` and `/v1/logs` with `content-type: application/json`; never publish port 4318 to the internet. The public port serves MCP and authenticated ingestion. `HOST` changes the bind address; `PORT` changes the public port. Authorization uses Deslop Auth; no pasted API keys.
|
|
14
|
+
|
|
15
|
+
## Connection diagnostics
|
|
16
|
+
|
|
17
|
+
Stored OAuth credentials do not prove the MCP connection works. Check the client's MCP status and tool discovery: Scope exposes the six tools below. If startup reports `OAuth authorization required`, sign in again with that client's login command above. An auth-store reset invalidates previously saved credentials.
|
|
18
|
+
|
|
19
|
+
Open the printed authorization URL in a browser on the same worker as the client. Leave it waiting; sign in at https://auth.mp281x.xyz in your own browser and approve the matching request. The worker's browser completes its localhost callback. Do not move the callback to the phone.
|
|
20
|
+
|
|
21
|
+
The public `/.well-known/oauth-protected-resource/mcp` document names the authorization server. A request without credentials gets a 401 discovery challenge; a rejected bearer adds `error="invalid_token"` and requires sign-in again. An unavailable authorization server returns 503 with `Retry-After`, not a false invalid-token challenge.
|
|
22
|
+
|
|
23
|
+
| Tool | Returns |
|
|
24
|
+
| ----------------- | ---------------------------------------------------------------------------------------------------------- |
|
|
25
|
+
| `list_services` | Every stored service's latest run, runtime, last event time and entry count, plus rejected-export counters |
|
|
26
|
+
| `find_traces` | Matching traces, newest or slowest first, with the total match count |
|
|
27
|
+
| `find_spans` | Matching spans with their original OTLP fields |
|
|
28
|
+
| `find_logs` | Matching logs, standalone or attached to a span |
|
|
29
|
+
| `measure_latency` | Span count, errors and p50, p95 and max latency over the whole window |
|
|
30
|
+
| `read_trace` | One stored trace whole, including earlier runs, with parent order, offsets and logs |
|
|
31
|
+
|
|
32
|
+
`find_traces`, `find_spans`, `find_logs` and `measure_latency` take `service`, `operation`, `traceId`, `text`, `errors`, `since` (`"10 minutes"` by default) and `runs`. Paged tools add `limit` and `offset`; trace/span searches add `sort`.
|
|
33
|
+
|
|
34
|
+
Searches default to `runs: "current"`: the latest process, page load or app launch per service. When a service exports a newer run, default searches hide every older trace it took part in. Use `{"runs":"all","since":"1 hour"}` to investigate across restarts or deployments. `read_trace` opens the complete retained trace by ID regardless of run. Entries persist under `~/.deslop/scope/entries/`; this change adds no migration or reset.
|
|
35
|
+
|
|
36
|
+
## Ingestion health
|
|
37
|
+
|
|
38
|
+
Start with `list_services`. `lastEventAt` and `runStartedAt` are Unix nanoseconds from the exporter clock, not receiver arrival times; a zero run marker means the exporter supplied no valid run start. `entries` counts records from that service's latest run. A missing service has no retained telemetry, not proof that it is healthy.
|
|
39
|
+
|
|
40
|
+
Rejected requests are counted on both ingestion ports by route, HTTP status and credential-header presence (`authorization`, `cookie` or `none`). These counts cannot identify the exporting app, and anonymous public visitors also produce 401s. No credentials or request bodies are kept. `since` and each rejection's `lastAt` are receiver-clock Unix milliseconds; counters reset when Scope restarts. Scope does not export its own diagnostic traffic back into itself.
|