You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e0ddc00
Browse filesBrowse the repository at this point in the historyBrowse files
Remove the legacy agent mode across the MCP core, CLI, Cloudflare app,
telemetry, tests, and documentation. The server now exposes the standard
tool surface without the `--agent` / `?agent=1` mode switch or the
`use_sentry` meta-tool.
**Embedded agent routing remains supported**
The unrelated `--agent-provider` option is preserved for selecting the
LLM provider used by embedded-agent functionality.
**Obsolete test infrastructure removed**
This removes the agent CLI test package and benchmark script alongside
agent-mode-specific tests and docs.
<!-- junior-request-attribution:start -->
Requested by **David Cramer** via Junior.
<!-- junior-request-attribution:end -->
<!-- junior-session-footer:start -->
<!-- junior-conversation-id:slack%3AC08J1NSPU6S%3A1785177165.113189 -->
--
[View Junior
Session](https://junior-prod.sentry.dev/conversations/slack%3AC08J1NSPU6S%3A1785177165.113189)
<!-- junior-session-footer:end -->
---------
Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Copy file name to clipboardExpand all lines: .github/workflows/token-cost.yml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -89,7 +89,7 @@ jobs:
89
89
90
90
---
91
91
92
-
**Note:** This measures the static overhead of tool definitions sent to LLM clients with every request. Lower is better. The \`use_sentry\` tool is excluded as it's only available in agent mode.
92
+
**Note:** This measures the static overhead of tool definitions sent to LLM clients with every request. Lower is better.
Copy file name to clipboardExpand all lines: docs/architecture/overview.md
+1-64Lines changed: 1 addition & 64 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -221,7 +221,7 @@ Ordinary operation modules live as flat files under
221
221
need more implementation structure.
222
222
`packages/mcp-core/src/tools/catalog-runtime/` contains the shared filtering,
223
223
search, schema, and execution helpers. Wrapper/gateway tools such as
224
-
`search_sentry_tools`, `execute_sentry_tool`, and `use_sentry` live in
224
+
`search_sentry_tools`, `execute_sentry_tool` live in
225
225
`packages/mcp-core/src/tools/special/`.
226
226
227
227
`packages/mcp-core/src/tools/surfaces.ts` only centralizes the subsets of
@@ -332,66 +332,3 @@ This pattern is used when:
332
332
- Embedded agent errors are returned as UserInputError
333
333
- Calling agent sees the error and can retry
334
334
- No internal retry loops - single responsibility
335
-
336
-
### use_sentry Tool Architecture
337
-
338
-
The `use_sentry` tool provides a natural language interface to all Sentry MCP tools using an in-memory MCP client-server architecture:
339
-
340
-
**Architecture**:
341
-
1. Creates linked pair of `InMemoryTransport` from MCP SDK
342
-
2. Builds internal MCP server with all 18 tools (excludes use_sentry to prevent recursion)
343
-
3. Connects server to serverTransport within ServerContext
344
-
4. Creates MCP client with clientTransport
345
-
5. Embedded GPT-5 agent accesses tools through MCP protocol
346
-
6. Zero network overhead - all communication is in-memory
347
-
348
-
**Data Flow**:
349
-
```
350
-
User request → use_sentry handler
351
-
↓
352
-
Creates InMemoryTransport pair
353
-
↓
354
-
Builds internal MCP server (18 tools)
355
-
↓
356
-
Creates MCP client
357
-
↓
358
-
Embedded agent calls tools via MCP protocol
359
-
↓
360
-
MCP server executes tool handlers
361
-
↓
362
-
Results returned through MCP protocol
363
-
↓
364
-
Agent processes and returns final result
365
-
```
366
-
367
-
**Benefits**:
368
-
- Full MCP protocol compliance throughout
369
-
- Architectural consistency - all tool access via MCP
370
-
- Zero performance overhead (no network, no serialization)
371
-
- Proper tool isolation at protocol level
372
-
- No recursion risk (use_sentry excluded from internal server)
373
-
374
-
**Implementation**: Uses built-in `InMemoryTransport.createLinkedPair()` from `@modelcontextprotocol/sdk/inMemory.js` for reliable in-process communication.
375
-
376
-
## Security Model
377
-
378
-
- Access tokens never logged
379
-
- OAuth tokens encrypted in KV
380
-
- Per-organization isolation
381
-
- CORS configured for security
382
-
383
-
## Testing Architecture
384
-
385
-
Three levels of testing:
386
-
387
-
1.**Unit tests**: Fast, isolated, snapshot-based
388
-
2.**Integration tests**: With mocked API
389
-
3.**Evaluation tests**: Real-world scenarios with LLM
Copy file name to clipboardExpand all lines: docs/contributing/adding-tools.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,6 @@ Not every tool is exposed to every consumer. We rely on several mechanisms to ke
8
8
9
9
-**Catalog by default** — Most tools are searchable/executable through `search_sentry_tools` + `execute_sentry_tool` automatically. Search uses the tool's existing name and description.
10
10
-**Catalog registry** — `packages/mcp-core/src/tools/catalog/index.ts` lists ordinary Sentry operation tools. The catalog directory is intentionally flat: one tool entry per file.
11
-
-**Special tools** — Wrapper/gateway tools (`search_sentry_tools`, `execute_sentry_tool`, `use_sentry`) live in `packages/mcp-core/src/tools/special/`. They still use the same tool types, but they are kept out of the ordinary catalog.
12
11
-**Central direct exposure policy** — `packages/mcp-core/src/tools/surfaces.ts` lists the catalog tools that are also exposed directly through MCP `tools/list`. The direct surface intentionally keeps long-tail tools catalog-only because `search_sentry_tools` + `execute_sentry_tool` are available as primary primitives.
13
12
-**`requiredCapabilities`** — Tools declare which project capabilities they need (e.g. `profiles`, `replays`, `traces`). If the upstream project doesn't have a capability enabled, the tool is automatically hidden.
14
13
-**`experimental` / `hideInExperimentalMode`** — Feature flags for tools that are being tested or replaced.
0 commit comments