Skip to content

Commit 7ce2b1c

Browse files
author
dynamoi-bot
committed
sync: packages/mcp @ f3197677a514ba393d17f7ed5b3e7967270cde2a
1 parent 3ed8f9b commit 7ce2b1c

3 files changed

Lines changed: 12 additions & 18 deletions

File tree

docs/engineers.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Private implementation (not published):
5151

5252
## Monitoring MCP UX (No Dashboard Needed)
5353

54-
We intentionally rely on structured logs + Sentry so audits stay simple and reproducible.
54+
We rely on structured error-level logs and Axiom so audits stay simple and reproducible.
5555

5656
### Log Surfaces
5757

@@ -76,10 +76,10 @@ We intentionally rely on structured logs + Sentry so audits stay simple and repr
7676
Use the copy/paste queries in:
7777
- `.agents/skills/querying-data/references/observability-queries.md`**MCP Server UX Audit (Axiom)**
7878

79-
### Sentry Behavior
79+
### Error Logging Behavior
8080

81-
- Validation/business failures remain warning-level (not Sentry noise).
82-
- Platform/unknown failures continue through error-level logging and are sent to Sentry with enriched MCP context (client/tool/user/timing).
81+
- Validation/business failures remain warning-level.
82+
- Platform/unknown failures continue through error-level structured logs with enriched MCP context (client/tool/user/timing).
8383

8484
## Adding Or Modifying A Tool (Safe Checklist)
8585

docs/research.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ MCP (Model Context Protocol) is the de facto standard for AI agent-to-tool conne
5555
- 97M+ SDK downloads
5656
- Donated to Linux Foundation's AAIF (Dec 2025)
5757
- Adopted by every major AI company: Anthropic, OpenAI, Google, Microsoft
58-
- Companies shipping MCP servers: Stripe (25 tools), Notion (16 tools), Sentry (~16 tools), Figma, Cloudflare, Linear, Intercom
58+
- Companies shipping MCP servers: Stripe (25 tools), Notion (16 tools), Figma, Cloudflare, Linear, Intercom
5959

6060
### Other Protocols (Less Relevant)
6161

@@ -121,10 +121,6 @@ The MCP server package only. Tools, auth middleware, transport layer. No busines
121121
- `search_stripe_resources` cross-cutting search is powerful pattern
122122
- `search_stripe_documentation` searches their own docs
123123

124-
**Sentry:**
125-
- "Intentionally consolidated rather than bloated with single-purpose functions"
126-
- Search-oriented tools that return rich context
127-
128124
**Community Meta Ads MCP (29 tools):**
129125
- 1:1 API mapping. What NOT to do -- Dynamoi already handles Meta complexity internally
130126

@@ -261,7 +257,7 @@ The same role resolution functions from `apps/main/app/lib/domains/artist/access
261257

262258
### API Keys vs OAuth
263259

264-
Industry pattern (Stripe, Notion, Sentry): **support both**.
260+
Industry pattern (Stripe, Notion): **support both**.
265261

266262
| Transport | Auth Method |
267263
|---|---|
@@ -688,8 +684,6 @@ This flips the funnel. Instead of SEO → landing page → signup → learn dash
688684
- [Stripe MCP Docs](https://docs.stripe.com/mcp)
689685
- [Notion MCP Tools](https://developers.notion.com/docs/mcp-supported-tools)
690686
- [Notion Hosted MCP: Inside Look](https://www.notion.com/blog/notions-hosted-mcp-server-an-inside-look)
691-
- [Sentry MCP Server](https://docs.sentry.io/product/sentry-mcp/)
692-
- [Sentry MCP GitHub](https://github.com/getsentry/sentry-mcp)
693687
- [Meta Ads MCP (Pipeboard)](https://github.com/pipeboard-co/meta-ads-mcp)
694688
- [Google Ads MCP](https://github.com/cohnen/mcp-google-ads)
695689
- [MCP "Too Many Tools" Problem](https://demiliani.com/2025/09/04/model-context-protocol-and-the-too-many-tools-problem/)

docs/spec.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,7 @@ Annotations:
723723
**Error classification:**
724724
- `ValidationError` → return Result error with user message, kind: "validation"
725725
- `BusinessRuleError` → return Result error with user message, kind: "business"
726-
- `PlatformFailureError` → return Result error with actionable message, kind: "platform", log to Sentry
726+
- `PlatformFailureError` → return Result error with actionable message, kind: "platform", log at error level
727727

728728
#### `dynamoi_resume_campaign`
729729

@@ -1313,7 +1313,7 @@ Minimal UI components:
13131313
- Rate limiting (best-effort in-memory at `/mcp`)
13141314
- Circuit breaker/backoff for Meta/Google mutations (MCP-only)
13151315
- Audit logging (integrate with `domains/audit`) including campaign creation
1316-
- Sentry logging for `PlatformFailureError` + unknown only (validation/business warn-only)
1316+
- Error-level structured logging for `PlatformFailureError` + unknown only (validation/business warn-only)
13171317
- **Connected Apps revocation page** (`/settings/connected-apps` redirects to `/<locale>/settings/connected-apps`) — list authorized clients, revoke grants
13181318
- Server instructions + prompts (dynamic resources already implemented)
13191319
- Load testing
@@ -1495,7 +1495,7 @@ Then a realistic workflow:
14951495
- Rate limit:
14961496
- Rapid tool calls should trigger `429` with `Retry-After`.
14971497
- Platform failure classification:
1498-
- When Meta/Google rejects a mutation, tool should return error kind: `platform` (and log to Sentry).
1498+
- When Meta/Google rejects a mutation, tool should return error kind: `platform` and emit error-level logs.
14991499
- Circuit breaker:
15001500
- Repeated platform failures should temporarily block and return a retry-after style message.
15011501
- Margin leakage:
@@ -1604,9 +1604,9 @@ Token → resolveUserFromToken() → User (AUTHENTICATED | SUPER_ADMIN)
16041604
### Error Classification
16051605
16061606
```
1607-
ValidationErroruser input error, return message, kind: "validation", no Sentry
1608-
BusinessRuleErrorbusiness logic violation, return message, kind: "business", no Sentry
1609-
PlatformFailureErrorMeta/Google API rejection, return actionable message, kind: "platform", log to Sentry
1607+
ValidationErroruser input error, return message, kind: "validation", warning-level only
1608+
BusinessRuleErrorbusiness logic violation, return message, kind: "business", warning-level only
1609+
PlatformFailureErrorMeta/Google API rejection, return actionable message, kind: "platform", log at error level
16101610
```
16111611
16121612
### Onboarding Requirements

0 commit comments

Comments
 (0)