@agent-native/core 0.98.17 → 0.99.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/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +15 -0
- package/corpus/core/docs/content/actions.mdx +1 -1
- package/corpus/core/docs/content/authentication.mdx +1 -1
- package/corpus/core/docs/content/dispatch.mdx +3 -3
- package/corpus/core/docs/content/external-agents.mdx +30 -19
- package/corpus/core/docs/content/locales/ar-SA/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/ar-SA/external-agents.mdx +23 -19
- package/corpus/core/docs/content/locales/ar-SA/mcp-clients.mdx +31 -3
- package/corpus/core/docs/content/locales/ar-SA/mcp-protocol.mdx +29 -15
- package/corpus/core/docs/content/locales/ar-SA/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/ar-SA/server.mdx +2 -2
- package/corpus/core/docs/content/locales/ar-SA/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/ar-SA/template-plan.mdx +3 -3
- package/corpus/core/docs/content/locales/de-DE/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/de-DE/external-agents.mdx +23 -19
- package/corpus/core/docs/content/locales/de-DE/mcp-clients.mdx +37 -3
- package/corpus/core/docs/content/locales/de-DE/mcp-protocol.mdx +29 -15
- package/corpus/core/docs/content/locales/de-DE/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/de-DE/server.mdx +2 -2
- package/corpus/core/docs/content/locales/de-DE/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/de-DE/template-plan.mdx +3 -3
- package/corpus/core/docs/content/locales/es-ES/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/es-ES/external-agents.mdx +32 -19
- package/corpus/core/docs/content/locales/es-ES/mcp-clients.mdx +17 -3
- package/corpus/core/docs/content/locales/es-ES/mcp-protocol.mdx +38 -15
- package/corpus/core/docs/content/locales/es-ES/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/es-ES/server.mdx +2 -2
- package/corpus/core/docs/content/locales/es-ES/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/es-ES/template-plan.mdx +3 -3
- package/corpus/core/docs/content/locales/fr-FR/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/fr-FR/external-agents.mdx +23 -19
- package/corpus/core/docs/content/locales/fr-FR/mcp-clients.mdx +17 -3
- package/corpus/core/docs/content/locales/fr-FR/mcp-protocol.mdx +29 -15
- package/corpus/core/docs/content/locales/fr-FR/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/fr-FR/server.mdx +2 -2
- package/corpus/core/docs/content/locales/fr-FR/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/fr-FR/template-plan.mdx +3 -3
- package/corpus/core/docs/content/locales/hi-IN/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/hi-IN/external-agents.mdx +31 -19
- package/corpus/core/docs/content/locales/hi-IN/mcp-clients.mdx +17 -3
- package/corpus/core/docs/content/locales/hi-IN/mcp-protocol.mdx +36 -15
- package/corpus/core/docs/content/locales/hi-IN/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/hi-IN/server.mdx +2 -2
- package/corpus/core/docs/content/locales/hi-IN/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/hi-IN/template-plan.mdx +3 -3
- package/corpus/core/docs/content/locales/ja-JP/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/ja-JP/external-agents.mdx +23 -19
- package/corpus/core/docs/content/locales/ja-JP/mcp-clients.mdx +34 -3
- package/corpus/core/docs/content/locales/ja-JP/mcp-protocol.mdx +29 -15
- package/corpus/core/docs/content/locales/ja-JP/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/ja-JP/server.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/template-plan.mdx +3 -3
- package/corpus/core/docs/content/locales/ko-KR/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/ko-KR/external-agents.mdx +30 -19
- package/corpus/core/docs/content/locales/ko-KR/mcp-clients.mdx +33 -3
- package/corpus/core/docs/content/locales/ko-KR/mcp-protocol.mdx +36 -15
- package/corpus/core/docs/content/locales/ko-KR/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/ko-KR/server.mdx +2 -2
- package/corpus/core/docs/content/locales/ko-KR/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/ko-KR/template-plan.mdx +3 -3
- package/corpus/core/docs/content/locales/pt-BR/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/pt-BR/external-agents.mdx +32 -19
- package/corpus/core/docs/content/locales/pt-BR/mcp-clients.mdx +34 -3
- package/corpus/core/docs/content/locales/pt-BR/mcp-protocol.mdx +32 -15
- package/corpus/core/docs/content/locales/pt-BR/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/pt-BR/server.mdx +2 -2
- package/corpus/core/docs/content/locales/pt-BR/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/pt-BR/template-plan.mdx +3 -3
- package/corpus/core/docs/content/locales/zh-CN/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/zh-CN/external-agents.mdx +23 -19
- package/corpus/core/docs/content/locales/zh-CN/mcp-clients.mdx +28 -3
- package/corpus/core/docs/content/locales/zh-CN/mcp-protocol.mdx +29 -15
- package/corpus/core/docs/content/locales/zh-CN/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/zh-CN/server.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-CN/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-CN/template-plan.mdx +3 -3
- package/corpus/core/docs/content/locales/zh-TW/actions.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/dispatch.mdx +3 -3
- package/corpus/core/docs/content/locales/zh-TW/external-agents.mdx +23 -19
- package/corpus/core/docs/content/locales/zh-TW/mcp-clients.mdx +28 -3
- package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.mdx +30 -15
- package/corpus/core/docs/content/locales/zh-TW/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/locales/zh-TW/server.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-TW/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/template-assets.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-TW/template-plan.mdx +3 -3
- package/corpus/core/docs/content/mcp-clients.mdx +31 -4
- package/corpus/core/docs/content/mcp-protocol.mdx +35 -15
- package/corpus/core/docs/content/plan-plugin.mdx +3 -3
- package/corpus/core/docs/content/server.mdx +2 -2
- package/corpus/core/docs/content/skills-guide.mdx +1 -1
- package/corpus/core/docs/content/template-assets.mdx +1 -1
- package/corpus/core/docs/content/template-dispatch.mdx +2 -2
- package/corpus/core/docs/content/template-plan.mdx +3 -3
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/a2a/client.ts +3 -0
- package/corpus/core/src/a2a/handlers.ts +95 -7
- package/corpus/core/src/cli/connect.ts +50 -24
- package/corpus/core/src/cli/mcp-config-writers.ts +10 -0
- package/corpus/core/src/cli/mcp.ts +5 -5
- package/corpus/core/src/cli/skills-content/assets-skill.ts +1 -1
- package/corpus/core/src/cli/skills-content/design-exploration-skill.ts +1 -1
- package/corpus/core/src/cli/skills-content/help.ts +1 -1
- package/corpus/core/src/cli/skills-content/plan-setup-auth.ts +1 -1
- package/corpus/core/src/cli/skills-content/visual-plan-skill.ts +1 -1
- package/corpus/core/src/cli/skills-content/visual-recap-skill.ts +2 -2
- package/corpus/core/src/cli/skills.ts +23 -12
- package/corpus/core/src/client/resources/McpIntegrationDialog.tsx +5 -0
- package/corpus/core/src/client/resources/mcp-integration-catalog.ts +17 -0
- package/corpus/core/src/embedding/agent.ts +8 -6
- package/corpus/core/src/localization/default-messages.ts +7 -0
- package/corpus/core/src/mcp/ask-app-inline-tasks.ts +125 -0
- package/corpus/core/src/mcp/build-server.ts +65 -3
- package/corpus/core/src/mcp/builtin-tools.ts +186 -22
- package/corpus/core/src/mcp/connect-route.ts +17 -14
- package/corpus/core/src/mcp/oauth-route.ts +38 -13
- package/corpus/core/src/mcp/route-paths.ts +34 -0
- package/corpus/core/src/mcp/server.ts +21 -10
- package/corpus/core/src/mcp/stdio.ts +34 -16
- package/corpus/core/src/mcp/workspace-resolve.ts +2 -1
- package/corpus/core/src/mcp-client/manager.ts +5 -3
- package/corpus/core/src/mcp-client/remote-store.ts +10 -10
- package/corpus/core/src/server/agent-chat-plugin.ts +42 -9
- package/corpus/core/src/server/auth.ts +22 -6
- package/corpus/core/src/server/core-routes-plugin.ts +30 -24
- package/corpus/core/src/server/csrf.ts +17 -0
- package/corpus/core/src/server/framework-request-handler.ts +8 -2
- package/corpus/core/src/server/google-oauth.ts +6 -0
- package/corpus/core/src/server/http-response-telemetry.ts +6 -1
- package/corpus/core/src/server/recap-image-route.ts +3 -3
- package/corpus/core/src/server/security-headers.ts +7 -1
- package/corpus/core/src/server/ssr-handler.ts +2 -0
- package/corpus/core/src/shared/cache-control.ts +6 -4
- package/corpus/core/src/templates/default/.agents/skills/security/SKILL.md +10 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +15 -6
- package/corpus/core/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +16 -10
- package/corpus/core/src/templates/workspace-core/.agents/skills/performance/SKILL.md +20 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/analytics/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/analytics/app/global.css +63 -4
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +8 -5
- package/corpus/templates/analytics/changelog/2026-07-13-daily-dashboard-emails-recover-more-reliably-from-serverless.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-13-session-replays-keep-a-visible-mac-style-cursor-over-the-vis.md +6 -0
- package/corpus/templates/analytics/server/jobs/dashboard-report.ts +21 -2
- package/corpus/templates/analytics/server/lib/dashboard-report-subscriptions.ts +57 -1
- package/corpus/templates/analytics/server/lib/dashboard-report.ts +266 -28
- package/corpus/templates/analytics/server/routes/[...page].get.ts +0 -2
- package/corpus/templates/assets/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/assets/agent-native.app-skill.json +1 -1
- package/corpus/templates/brain/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/calendar/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/calendar/AGENTS.md +2 -1
- package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +0 -19
- package/corpus/templates/calendar/app/lib/attendee-local-time.ts +14 -5
- package/corpus/templates/calendar/changelog/2026-07-13-your-local-time-now-follows-your-browser-timezone-and-event-.md +6 -0
- package/corpus/templates/chat/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/clips/.agents/skills/recording/SKILL.md +7 -2
- package/corpus/templates/clips/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/clips/AGENTS.md +7 -0
- package/corpus/templates/clips/actions/list-meetings.ts +19 -4
- package/corpus/templates/clips/actions/start-meeting-recording.ts +7 -1
- package/corpus/templates/clips/app/components/meetings/transcript-bubbles.tsx +75 -78
- package/corpus/templates/clips/app/components/recorder/confetti-canvas.tsx +18 -1
- package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +6 -12
- package/corpus/templates/clips/app/components/recorder/recording-toolbar.tsx +19 -2
- package/corpus/templates/clips/app/lib/camera-composite.ts +70 -10
- package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +1 -1
- package/corpus/templates/clips/app/routes/record.tsx +5 -25
- package/corpus/templates/clips/changelog/2026-07-13-clips-desktop-now-requires-macos-13-for-native-capture.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-13-clips-hide-solo-meeting-reminders.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-13-clips-now-removes-duplicate-mic-and-system-transcript-turns-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-13-desktop-recordings-run-cooler-and-quieter-live-transcription.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-13-meeting-recordings-now-stop-after-a-calendar-meeting-ends-an.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-13-meeting-transcripts-now-use-a-clean-agent-chat-style-reading.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-13-screen-recordings-use-less-processing-power-during-longer-ca.md +6 -0
- package/corpus/templates/clips/chrome-extension/src/background.ts +5 -3
- package/corpus/templates/clips/chrome-extension/src/offscreen.ts +17 -14
- package/corpus/templates/clips/chrome-extension/src/overlay.ts +8 -2
- package/corpus/templates/clips/desktop/README.md +3 -0
- package/corpus/templates/clips/desktop/src/hooks/useMeetingTranscription.ts +9 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +8 -2
- package/corpus/templates/clips/desktop/src/lib/silence-events.ts +1 -0
- package/corpus/templates/clips/desktop/src/lib/transcription-capture.ts +5 -0
- package/corpus/templates/clips/desktop/src/lib/transcription-engine.ts +134 -5
- package/corpus/templates/clips/desktop/src/lib/upload-video-stream.ts +28 -0
- package/corpus/templates/clips/desktop/src/overlays/flow-bar.tsx +10 -3
- package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +42 -9
- package/corpus/templates/clips/desktop/src/overlays/recording-pill.tsx +10 -2
- package/corpus/templates/clips/desktop/src-tauri/Cargo.toml +6 -1
- package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +77 -1
- package/corpus/templates/clips/desktop/src-tauri/src/silence_detector.rs +104 -25
- package/corpus/templates/clips/desktop/src-tauri/src/system_audio.rs +4 -0
- package/corpus/templates/clips/desktop/src-tauri/src/whisper_speech.rs +287 -32
- package/corpus/templates/clips/desktop/src-tauri/tauri.conf.json +1 -1
- package/corpus/templates/clips/server/lib/calendar-event-classification.ts +28 -0
- package/corpus/templates/clips/server/routes/[...page].get.ts +1 -59
- package/corpus/templates/clips/shared/recording-capture.ts +37 -0
- package/corpus/templates/content/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/content/agent-native.app-skill.json +1 -1
- package/corpus/templates/content/server/routes/[...page].get.ts +1 -15
- package/corpus/templates/design/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/design/actions/connect-assets-mcp.ts +1 -1
- package/corpus/templates/design/agent-native.app-skill.json +1 -1
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +88 -12
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +1 -0
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +4 -1
- package/corpus/templates/design/changelog/2026-07-13-adding-shapes-preserves-canvas-background.md +6 -0
- package/corpus/templates/design/changelog/2026-07-13-clicking-quickly-between-overlapping-elements-no-longer-bounc.md +6 -0
- package/corpus/templates/design/server/plugins/assets-mcp.ts +1 -1
- package/corpus/templates/design/server/routes/[...page].get.ts +0 -2
- package/corpus/templates/dispatch/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/forms/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/macros/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/mail/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/plan/.agents/skills/security/SKILL.md +10 -0
- package/corpus/templates/plan/.agents/skills/visual-plan/SKILL.md +1 -1
- package/corpus/templates/plan/.agents/skills/visual-recap/SKILL.md +2 -2
- package/corpus/templates/plan/agent-native.app-skill.json +1 -1
- package/corpus/templates/plan/app/lib/plan-local-bridge.ts +6 -1
- package/corpus/templates/plan/app/pages/PlansPage.tsx +15 -6
- package/corpus/templates/plan/changelog/2026-07-13-fixed-local-plan-previews-continuously-flickering-while-revi.md +6 -0
- package/corpus/templates/plan/server/routes/[...page].get.ts +0 -2
- package/corpus/templates/slides/.agents/skills/security/SKILL.md +10 -0
- package/dist/a2a/client.d.ts +2 -0
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +2 -0
- package/dist/a2a/client.js.map +1 -1
- package/dist/a2a/handlers.d.ts.map +1 -1
- package/dist/a2a/handlers.js +84 -7
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/cli/connect.d.ts +2 -2
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +45 -23
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/mcp-config-writers.d.ts.map +1 -1
- package/dist/cli/mcp-config-writers.js +7 -0
- package/dist/cli/mcp-config-writers.js.map +1 -1
- package/dist/cli/mcp.js +5 -3
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/skills-content/assets-skill.d.ts +1 -1
- package/dist/cli/skills-content/assets-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/assets-skill.js +1 -1
- package/dist/cli/skills-content/assets-skill.js.map +1 -1
- package/dist/cli/skills-content/design-exploration-skill.d.ts +1 -1
- package/dist/cli/skills-content/design-exploration-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/design-exploration-skill.js +1 -1
- package/dist/cli/skills-content/design-exploration-skill.js.map +1 -1
- package/dist/cli/skills-content/help.d.ts +1 -1
- package/dist/cli/skills-content/help.d.ts.map +1 -1
- package/dist/cli/skills-content/help.js +1 -1
- package/dist/cli/skills-content/help.js.map +1 -1
- package/dist/cli/skills-content/plan-setup-auth.d.ts +1 -1
- package/dist/cli/skills-content/plan-setup-auth.d.ts.map +1 -1
- package/dist/cli/skills-content/plan-setup-auth.js +1 -1
- package/dist/cli/skills-content/plan-setup-auth.js.map +1 -1
- package/dist/cli/skills-content/visual-plan-skill.d.ts +1 -1
- package/dist/cli/skills-content/visual-plan-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/visual-plan-skill.js +1 -1
- package/dist/cli/skills-content/visual-plan-skill.js.map +1 -1
- package/dist/cli/skills-content/visual-recap-skill.d.ts +1 -1
- package/dist/cli/skills-content/visual-recap-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/visual-recap-skill.js +2 -2
- package/dist/cli/skills-content/visual-recap-skill.js.map +1 -1
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +16 -12
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.d.ts.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.js +1 -1
- package/dist/client/resources/McpIntegrationDialog.js.map +1 -1
- package/dist/client/resources/mcp-integration-catalog.d.ts +1 -0
- package/dist/client/resources/mcp-integration-catalog.d.ts.map +1 -1
- package/dist/client/resources/mcp-integration-catalog.js +14 -0
- package/dist/client/resources/mcp-integration-catalog.js.map +1 -1
- package/dist/collab/routes.d.ts +2 -2
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/embedding/agent.d.ts.map +1 -1
- package/dist/embedding/agent.js +6 -7
- package/dist/embedding/agent.js.map +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/localization/default-messages.d.ts +5 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +5 -0
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp/ask-app-inline-tasks.d.ts +47 -0
- package/dist/mcp/ask-app-inline-tasks.d.ts.map +1 -0
- package/dist/mcp/ask-app-inline-tasks.js +87 -0
- package/dist/mcp/ask-app-inline-tasks.js.map +1 -0
- package/dist/mcp/build-server.d.ts.map +1 -1
- package/dist/mcp/build-server.js +56 -3
- package/dist/mcp/build-server.js.map +1 -1
- package/dist/mcp/builtin-tools.d.ts.map +1 -1
- package/dist/mcp/builtin-tools.js +141 -21
- package/dist/mcp/builtin-tools.js.map +1 -1
- package/dist/mcp/connect-route.d.ts +12 -10
- package/dist/mcp/connect-route.d.ts.map +1 -1
- package/dist/mcp/connect-route.js +17 -14
- package/dist/mcp/connect-route.js.map +1 -1
- package/dist/mcp/oauth-route.d.ts +1 -1
- package/dist/mcp/oauth-route.d.ts.map +1 -1
- package/dist/mcp/oauth-route.js +30 -13
- package/dist/mcp/oauth-route.js.map +1 -1
- package/dist/mcp/route-paths.d.ts +13 -0
- package/dist/mcp/route-paths.d.ts.map +1 -0
- package/dist/mcp/route-paths.js +27 -0
- package/dist/mcp/route-paths.js.map +1 -0
- package/dist/mcp/server.d.ts +2 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +14 -6
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/stdio.d.ts +7 -6
- package/dist/mcp/stdio.d.ts.map +1 -1
- package/dist/mcp/stdio.js +27 -15
- package/dist/mcp/stdio.js.map +1 -1
- package/dist/mcp/workspace-resolve.d.ts +2 -1
- package/dist/mcp/workspace-resolve.d.ts.map +1 -1
- package/dist/mcp/workspace-resolve.js +2 -1
- package/dist/mcp/workspace-resolve.js.map +1 -1
- package/dist/mcp-client/manager.js +6 -3
- package/dist/mcp-client/manager.js.map +1 -1
- package/dist/mcp-client/remote-store.js +5 -7
- package/dist/mcp-client/remote-store.js.map +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/observability/routes.d.ts +5 -5
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +43 -11
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +16 -6
- package/dist/server/auth.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts +4 -3
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +20 -15
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/csrf.d.ts.map +1 -1
- package/dist/server/csrf.js +11 -0
- package/dist/server/csrf.js.map +1 -1
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +8 -2
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/google-oauth.d.ts +2 -0
- package/dist/server/google-oauth.d.ts.map +1 -1
- package/dist/server/google-oauth.js +5 -0
- package/dist/server/google-oauth.js.map +1 -1
- package/dist/server/http-response-telemetry.d.ts.map +1 -1
- package/dist/server/http-response-telemetry.js +4 -1
- package/dist/server/http-response-telemetry.js.map +1 -1
- package/dist/server/recap-image-route.js +3 -3
- package/dist/server/recap-image-route.js.map +1 -1
- package/dist/server/security-headers.d.ts.map +1 -1
- package/dist/server/security-headers.js +4 -1
- package/dist/server/security-headers.js.map +1 -1
- package/dist/server/ssr-handler.d.ts.map +1 -1
- package/dist/server/ssr-handler.js +3 -1
- package/dist/server/ssr-handler.js.map +1 -1
- package/dist/shared/cache-control.d.ts +7 -6
- package/dist/shared/cache-control.d.ts.map +1 -1
- package/dist/shared/cache-control.js +4 -3
- package/dist/shared/cache-control.js.map +1 -1
- package/dist/templates/default/.agents/skills/security/SKILL.md +10 -0
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +15 -6
- package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +16 -10
- package/dist/templates/workspace-core/.agents/skills/performance/SKILL.md +20 -1
- package/dist/templates/workspace-core/.agents/skills/security/SKILL.md +10 -0
- package/docs/content/actions.mdx +1 -1
- package/docs/content/authentication.mdx +1 -1
- package/docs/content/dispatch.mdx +3 -3
- package/docs/content/external-agents.mdx +30 -19
- package/docs/content/locales/ar-SA/actions.mdx +1 -1
- package/docs/content/locales/ar-SA/authentication.mdx +1 -1
- package/docs/content/locales/ar-SA/dispatch.mdx +3 -3
- package/docs/content/locales/ar-SA/external-agents.mdx +23 -19
- package/docs/content/locales/ar-SA/mcp-clients.mdx +31 -3
- package/docs/content/locales/ar-SA/mcp-protocol.mdx +29 -15
- package/docs/content/locales/ar-SA/plan-plugin.mdx +3 -3
- package/docs/content/locales/ar-SA/server.mdx +2 -2
- package/docs/content/locales/ar-SA/skills-guide.mdx +1 -1
- package/docs/content/locales/ar-SA/template-assets.mdx +1 -1
- package/docs/content/locales/ar-SA/template-dispatch.mdx +2 -2
- package/docs/content/locales/ar-SA/template-plan.mdx +3 -3
- package/docs/content/locales/de-DE/actions.mdx +1 -1
- package/docs/content/locales/de-DE/authentication.mdx +1 -1
- package/docs/content/locales/de-DE/dispatch.mdx +3 -3
- package/docs/content/locales/de-DE/external-agents.mdx +23 -19
- package/docs/content/locales/de-DE/mcp-clients.mdx +37 -3
- package/docs/content/locales/de-DE/mcp-protocol.mdx +29 -15
- package/docs/content/locales/de-DE/plan-plugin.mdx +3 -3
- package/docs/content/locales/de-DE/server.mdx +2 -2
- package/docs/content/locales/de-DE/skills-guide.mdx +1 -1
- package/docs/content/locales/de-DE/template-assets.mdx +1 -1
- package/docs/content/locales/de-DE/template-dispatch.mdx +2 -2
- package/docs/content/locales/de-DE/template-plan.mdx +3 -3
- package/docs/content/locales/es-ES/actions.mdx +1 -1
- package/docs/content/locales/es-ES/authentication.mdx +1 -1
- package/docs/content/locales/es-ES/dispatch.mdx +3 -3
- package/docs/content/locales/es-ES/external-agents.mdx +32 -19
- package/docs/content/locales/es-ES/mcp-clients.mdx +17 -3
- package/docs/content/locales/es-ES/mcp-protocol.mdx +38 -15
- package/docs/content/locales/es-ES/plan-plugin.mdx +3 -3
- package/docs/content/locales/es-ES/server.mdx +2 -2
- package/docs/content/locales/es-ES/skills-guide.mdx +1 -1
- package/docs/content/locales/es-ES/template-assets.mdx +1 -1
- package/docs/content/locales/es-ES/template-dispatch.mdx +2 -2
- package/docs/content/locales/es-ES/template-plan.mdx +3 -3
- package/docs/content/locales/fr-FR/actions.mdx +1 -1
- package/docs/content/locales/fr-FR/authentication.mdx +1 -1
- package/docs/content/locales/fr-FR/dispatch.mdx +3 -3
- package/docs/content/locales/fr-FR/external-agents.mdx +23 -19
- package/docs/content/locales/fr-FR/mcp-clients.mdx +17 -3
- package/docs/content/locales/fr-FR/mcp-protocol.mdx +29 -15
- package/docs/content/locales/fr-FR/plan-plugin.mdx +3 -3
- package/docs/content/locales/fr-FR/server.mdx +2 -2
- package/docs/content/locales/fr-FR/skills-guide.mdx +1 -1
- package/docs/content/locales/fr-FR/template-assets.mdx +1 -1
- package/docs/content/locales/fr-FR/template-dispatch.mdx +2 -2
- package/docs/content/locales/fr-FR/template-plan.mdx +3 -3
- package/docs/content/locales/hi-IN/actions.mdx +1 -1
- package/docs/content/locales/hi-IN/authentication.mdx +1 -1
- package/docs/content/locales/hi-IN/dispatch.mdx +3 -3
- package/docs/content/locales/hi-IN/external-agents.mdx +31 -19
- package/docs/content/locales/hi-IN/mcp-clients.mdx +17 -3
- package/docs/content/locales/hi-IN/mcp-protocol.mdx +36 -15
- package/docs/content/locales/hi-IN/plan-plugin.mdx +3 -3
- package/docs/content/locales/hi-IN/server.mdx +2 -2
- package/docs/content/locales/hi-IN/skills-guide.mdx +1 -1
- package/docs/content/locales/hi-IN/template-assets.mdx +1 -1
- package/docs/content/locales/hi-IN/template-dispatch.mdx +2 -2
- package/docs/content/locales/hi-IN/template-plan.mdx +3 -3
- package/docs/content/locales/ja-JP/actions.mdx +1 -1
- package/docs/content/locales/ja-JP/authentication.mdx +1 -1
- package/docs/content/locales/ja-JP/dispatch.mdx +3 -3
- package/docs/content/locales/ja-JP/external-agents.mdx +23 -19
- package/docs/content/locales/ja-JP/mcp-clients.mdx +34 -3
- package/docs/content/locales/ja-JP/mcp-protocol.mdx +29 -15
- package/docs/content/locales/ja-JP/plan-plugin.mdx +3 -3
- package/docs/content/locales/ja-JP/server.mdx +2 -2
- package/docs/content/locales/ja-JP/skills-guide.mdx +1 -1
- package/docs/content/locales/ja-JP/template-assets.mdx +1 -1
- package/docs/content/locales/ja-JP/template-dispatch.mdx +2 -2
- package/docs/content/locales/ja-JP/template-plan.mdx +3 -3
- package/docs/content/locales/ko-KR/actions.mdx +1 -1
- package/docs/content/locales/ko-KR/authentication.mdx +1 -1
- package/docs/content/locales/ko-KR/dispatch.mdx +3 -3
- package/docs/content/locales/ko-KR/external-agents.mdx +30 -19
- package/docs/content/locales/ko-KR/mcp-clients.mdx +33 -3
- package/docs/content/locales/ko-KR/mcp-protocol.mdx +36 -15
- package/docs/content/locales/ko-KR/plan-plugin.mdx +3 -3
- package/docs/content/locales/ko-KR/server.mdx +2 -2
- package/docs/content/locales/ko-KR/skills-guide.mdx +1 -1
- package/docs/content/locales/ko-KR/template-assets.mdx +1 -1
- package/docs/content/locales/ko-KR/template-dispatch.mdx +2 -2
- package/docs/content/locales/ko-KR/template-plan.mdx +3 -3
- package/docs/content/locales/pt-BR/actions.mdx +1 -1
- package/docs/content/locales/pt-BR/authentication.mdx +1 -1
- package/docs/content/locales/pt-BR/dispatch.mdx +3 -3
- package/docs/content/locales/pt-BR/external-agents.mdx +32 -19
- package/docs/content/locales/pt-BR/mcp-clients.mdx +34 -3
- package/docs/content/locales/pt-BR/mcp-protocol.mdx +32 -15
- package/docs/content/locales/pt-BR/plan-plugin.mdx +3 -3
- package/docs/content/locales/pt-BR/server.mdx +2 -2
- package/docs/content/locales/pt-BR/skills-guide.mdx +1 -1
- package/docs/content/locales/pt-BR/template-assets.mdx +1 -1
- package/docs/content/locales/pt-BR/template-dispatch.mdx +2 -2
- package/docs/content/locales/pt-BR/template-plan.mdx +3 -3
- package/docs/content/locales/zh-CN/actions.mdx +1 -1
- package/docs/content/locales/zh-CN/authentication.mdx +1 -1
- package/docs/content/locales/zh-CN/dispatch.mdx +3 -3
- package/docs/content/locales/zh-CN/external-agents.mdx +23 -19
- package/docs/content/locales/zh-CN/mcp-clients.mdx +28 -3
- package/docs/content/locales/zh-CN/mcp-protocol.mdx +29 -15
- package/docs/content/locales/zh-CN/plan-plugin.mdx +3 -3
- package/docs/content/locales/zh-CN/server.mdx +2 -2
- package/docs/content/locales/zh-CN/skills-guide.mdx +1 -1
- package/docs/content/locales/zh-CN/template-assets.mdx +1 -1
- package/docs/content/locales/zh-CN/template-dispatch.mdx +2 -2
- package/docs/content/locales/zh-CN/template-plan.mdx +3 -3
- package/docs/content/locales/zh-TW/actions.mdx +1 -1
- package/docs/content/locales/zh-TW/authentication.mdx +1 -1
- package/docs/content/locales/zh-TW/dispatch.mdx +3 -3
- package/docs/content/locales/zh-TW/external-agents.mdx +23 -19
- package/docs/content/locales/zh-TW/mcp-clients.mdx +28 -3
- package/docs/content/locales/zh-TW/mcp-protocol.mdx +30 -15
- package/docs/content/locales/zh-TW/plan-plugin.mdx +3 -3
- package/docs/content/locales/zh-TW/server.mdx +2 -2
- package/docs/content/locales/zh-TW/skills-guide.mdx +1 -1
- package/docs/content/locales/zh-TW/template-assets.mdx +1 -1
- package/docs/content/locales/zh-TW/template-dispatch.mdx +2 -2
- package/docs/content/locales/zh-TW/template-plan.mdx +3 -3
- package/docs/content/mcp-clients.mdx +31 -4
- package/docs/content/mcp-protocol.mdx +35 -15
- package/docs/content/plan-plugin.mdx +3 -3
- package/docs/content/server.mdx +2 -2
- package/docs/content/skills-guide.mdx +1 -1
- package/docs/content/template-assets.mdx +1 -1
- package/docs/content/template-dispatch.mdx +2 -2
- package/docs/content/template-plan.mdx +3 -3
- package/package.json +1 -1
- package/src/templates/default/.agents/skills/security/SKILL.md +10 -0
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +15 -6
- package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +16 -10
- package/src/templates/workspace-core/.agents/skills/performance/SKILL.md +20 -1
- package/src/templates/workspace-core/.agents/skills/security/SKILL.md +10 -0
package/corpus/README.md
CHANGED
package/corpus/core/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @agent-native/core
|
|
2
2
|
|
|
3
|
+
## 0.99.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 3c3a59d: Return durable task handles for long-running MCP agent requests and expose
|
|
8
|
+
grant-checked status polling instead of holding one MCP tool call open for the
|
|
9
|
+
full agent run.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 3c3a59d: Add Atlassian Rovo MCP to the built-in integration catalog with Jira setup guidance.
|
|
14
|
+
- 3c3a59d: Keep delegated A2A agent runs aligned with interactive prompt context and request-scoped browser access.
|
|
15
|
+
- 3c3a59d: Keep anonymous SSR shells long-cacheable across hosting providers and keep viewer-specific data on client/API paths.
|
|
16
|
+
- 3c3a59d: Add `/mcp` as the canonical public MCP URL while preserving `/_agent-native/mcp` for existing clients.
|
|
17
|
+
|
|
3
18
|
## 0.98.17
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -518,7 +518,7 @@ If your app is an [A2A](/docs/a2a-protocol) peer, other agent-native apps discov
|
|
|
518
518
|
|
|
519
519
|
## Exposing it over MCP {#mcp}
|
|
520
520
|
|
|
521
|
-
With MCP enabled, your actions show up in the framework's MCP server at `/
|
|
521
|
+
With MCP enabled, your actions show up in the framework's MCP server at `/mcp`. Every caller gets a compact catalog by default — app-facing builtins plus the template-declared app actions — and `tool-search` is always present so any other tool stays reachable on demand. The full action surface is served only on explicit opt-in (`--full-catalog` token or `AGENT_NATIVE_MCP_FULL_CATALOG=1`), and `publicAgent.expose` opts a safe read/ingest tool onto the public surface. See [MCP Protocol](/docs/mcp-protocol) for catalog tiers, auth, and the `mcpApp` resource details.
|
|
522
522
|
|
|
523
523
|
For UI-capable MCP hosts, an action can declare an optional MCP Apps resource via the `mcpApp` field (plus a matching `link`) so capable hosts render the result inline. When `link` and `mcpApp` should point at the same route, `embedRoute()` builds both from one pure path builder:
|
|
524
524
|
|
|
@@ -219,7 +219,7 @@ Configuring these variables never renders a token login page for visitors. Web s
|
|
|
219
219
|
Every app's MCP endpoint can act as a standard protected MCP resource. OAuth-capable clients can be configured with only the remote MCP URL:
|
|
220
220
|
|
|
221
221
|
```text
|
|
222
|
-
https://mail.agent-native.com/
|
|
222
|
+
https://mail.agent-native.com/mcp
|
|
223
223
|
```
|
|
224
224
|
|
|
225
225
|
Unauthenticated MCP requests return a `WWW-Authenticate` challenge pointing at `/.well-known/oauth-protected-resource`. The client then discovers the app's OAuth metadata, dynamically registers a public client, opens the app's authorization page, and exchanges an authorization code with PKCE for access and refresh tokens.
|
|
@@ -117,16 +117,16 @@ Dispatch auto-discovers the other apps in your workspace as A2A peers — no man
|
|
|
117
117
|
|
|
118
118
|
### Unified MCP gateway
|
|
119
119
|
|
|
120
|
-
Dispatch can be the single MCP connector for external agents: add `https://dispatch.agent-native.com/
|
|
120
|
+
Dispatch can be the single MCP connector for external agents: add `https://dispatch.agent-native.com/mcp` once in Claude, ChatGPT, Codex, or Cursor, and one authorization reaches every granted workspace app instead of one connector per app. See [External Agents](/docs/external-agents) for the full connect flow, app grants, OAuth, and inline MCP App previews.
|
|
121
121
|
|
|
122
|
-
<Endpoint id="doc-block-7jvtfw" method="POST" path="/
|
|
122
|
+
<Endpoint id="doc-block-7jvtfw" method="POST" path="/mcp" summary="Unified MCP gateway endpoint" auth="Standard remote MCP OAuth, handled by the framework. The granted-app set scopes which workspace apps the connector can reach." responses={[
|
|
123
123
|
{
|
|
124
124
|
"status": "200",
|
|
125
125
|
"description": "MCP JSON-RPC response — tools, resources, and MCP App UI resources aggregated across granted workspace apps."
|
|
126
126
|
}
|
|
127
127
|
]}>
|
|
128
128
|
|
|
129
|
-
The single MCP connector URL external agents add (e.g. `https://dispatch.agent-native.com/
|
|
129
|
+
The single MCP connector URL external agents add (e.g. `https://dispatch.agent-native.com/mcp`). One authorization here reaches every **granted** workspace app instead of wiring one connector per app. App grants, OAuth, and inline MCP App previews are covered in [External Agents](/docs/external-agents).
|
|
130
130
|
|
|
131
131
|
</Endpoint>
|
|
132
132
|
|
|
@@ -99,7 +99,7 @@ Add one remote MCP connector to the host where you want to use Agent-Native.
|
|
|
99
99
|
For workspace or cross-app work, use Dispatch:
|
|
100
100
|
|
|
101
101
|
```text
|
|
102
|
-
https://dispatch.agent-native.com/
|
|
102
|
+
https://dispatch.agent-native.com/mcp
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
Dispatch is the single gateway for Mail, Calendar, Analytics, Brain, and your
|
|
@@ -110,12 +110,12 @@ reach all apps or only selected apps. The connected host then gets
|
|
|
110
110
|
For one intentionally isolated app, use that app directly:
|
|
111
111
|
|
|
112
112
|
```text
|
|
113
|
-
https://mail.agent-native.com/
|
|
114
|
-
https://<your-app>.agent-native.com/
|
|
113
|
+
https://mail.agent-native.com/mcp
|
|
114
|
+
https://<your-app>.agent-native.com/mcp
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
Every hosted app also has a helper page at
|
|
118
|
-
`https://<app>/
|
|
118
|
+
`https://<app>/mcp/connect` with the copyable URL and
|
|
119
119
|
host-specific tabs for Claude, ChatGPT, Cursor, Claude Code, Codex, and Other.
|
|
120
120
|
|
|
121
121
|
### Claude and ChatGPT OAuth {#oauth}
|
|
@@ -238,7 +238,7 @@ Once connected, auth should persist long-term — access tokens last 30 days by
|
|
|
238
238
|
npx @agent-native/core@latest reconnect https://plan.agent-native.com --client codex
|
|
239
239
|
```
|
|
240
240
|
|
|
241
|
-
`reconnect` finds any MCP config entry whose URL ends in `/
|
|
241
|
+
`reconnect` finds any MCP config entry whose URL ends in `/mcp` for the given host and selected client (matching by URL regardless of connector name), then refreshes or replaces the auth material without touching your installed skills or re-running the full install flow. Pass the base app URL (e.g. `https://plan.agent-native.com`) — the `/mcp` suffix is inferred. Auth and tool loading are per client, so restart/reload that client afterward; Codex needs a new session before newly loaded tools appear.
|
|
242
242
|
|
|
243
243
|
In Claude Code, the equivalent UI path is: run `/mcp` and choose **Authenticate** (or **Reconnect**) for the relevant connector.
|
|
244
244
|
|
|
@@ -246,7 +246,7 @@ Never reinstall the skill from scratch just to fix a 401 — `reconnect` is the
|
|
|
246
246
|
|
|
247
247
|
### Connect page fallback {#connect-page-fallback}
|
|
248
248
|
|
|
249
|
-
For MCP hosts that cannot add a remote OAuth URL directly, open the app in your browser and use its **Connect** affordance (served at `https://<app>/
|
|
249
|
+
For MCP hosts that cannot add a remote OAuth URL directly, open the app in your browser and use its **Connect** affordance (served at `https://<app>/mcp/connect`). While logged in, click **Connect / Authorize**. The page hands you either a one-click deep link that configures a detected agent, or a ready-to-paste `.mcp.json` block:
|
|
250
250
|
|
|
251
251
|
```jsonc
|
|
252
252
|
// .mcp.json
|
|
@@ -254,7 +254,7 @@ For MCP hosts that cannot add a remote OAuth URL directly, open the app in your
|
|
|
254
254
|
"mcpServers": {
|
|
255
255
|
"mail": {
|
|
256
256
|
"type": "http",
|
|
257
|
-
"url": "https://mail.agent-native.com/
|
|
257
|
+
"url": "https://mail.agent-native.com/mcp",
|
|
258
258
|
"headers": { "Authorization": "Bearer <minted-token>" },
|
|
259
259
|
},
|
|
260
260
|
},
|
|
@@ -271,13 +271,13 @@ Hosted agent-native apps also support the standard remote MCP OAuth flow. For cl
|
|
|
271
271
|
|
|
272
272
|
```bash
|
|
273
273
|
claude mcp add --transport http agent-native \
|
|
274
|
-
https://dispatch.agent-native.com/
|
|
274
|
+
https://dispatch.agent-native.com/mcp
|
|
275
275
|
```
|
|
276
276
|
|
|
277
277
|
This is the same URL-only entry that `npx @agent-native/core@latest connect https://dispatch.agent-native.com --client claude-code` writes for you. Then run `/mcp` in Claude Code and choose **Authenticate**. The client discovers auth from the MCP server's `401 WWW-Authenticate` challenge, fetches `/.well-known/oauth-protected-resource` and `/.well-known/oauth-authorization-server`, dynamically registers a public OAuth client, opens the app's authorization page, and stores the resulting token securely. ChatGPT developer-mode connectors use the same server URL:
|
|
278
278
|
|
|
279
279
|
```text
|
|
280
|
-
https://dispatch.agent-native.com/
|
|
280
|
+
https://dispatch.agent-native.com/mcp
|
|
281
281
|
```
|
|
282
282
|
|
|
283
283
|
The OAuth flow is authorization-code + PKCE with refresh-token rotation. Access tokens are audience-bound to the exact MCP resource URL and carry the signed user/org identity, so tool calls, `resources/read`, and MCP App iframe-initiated `tools/call` all run through the same `runWithRequestContext` tenant scoping as the existing connect-minted JWT path. The iframe never receives raw OAuth tokens; the host mediates calls through the authenticated MCP connection.
|
|
@@ -524,13 +524,13 @@ See [MCP Apps](/docs/mcp-apps) for the full bridge details — transplant vs con
|
|
|
524
524
|
|
|
525
525
|
On top of the per-action tools the MCP server exposes a stable verb set, so an external agent has a predictable surface without guessing per-app action names:
|
|
526
526
|
|
|
527
|
-
| Tool | Side effects | Returns
|
|
528
|
-
| -------------------------------------------------- | ------------ |
|
|
529
|
-
| `list_apps` | none | workspace apps + their URLs / running state
|
|
530
|
-
| `open_app({ app, view?, path?, params?, embed? })` | none | a deep link or same-origin route; `embed: true` renders the full app inline where supported
|
|
531
|
-
| `ask_app({ app, message })`
|
|
532
|
-
| `create_workspace_app({ name, template })` | scaffolds | a new app booted via the workspace path, plus its running URL + deep link
|
|
533
|
-
| `list_templates` | none | the allow-listed templates only
|
|
527
|
+
| Tool | Side effects | Returns |
|
|
528
|
+
| -------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
529
|
+
| `list_apps` | none | workspace apps + their URLs / running state |
|
|
530
|
+
| `open_app({ app, view?, path?, params?, embed? })` | none | a deep link or same-origin route; `embed: true` renders the full app inline where supported |
|
|
531
|
+
| `ask_app({ app, message, async?, maxWaitMs? })` | agent loop | routes a natural-language task to that app's in-app agent; long work returns a durable `taskId` for `ask_app_status` polling |
|
|
532
|
+
| `create_workspace_app({ name, template })` | scaffolds | a new app booted via the workspace path, plus its running URL + deep link |
|
|
533
|
+
| `list_templates` | none | the allow-listed templates only |
|
|
534
534
|
|
|
535
535
|
`create_workspace_app` rejects any non-allow-listed template — the public template allow-list in `packages/shared-app-config/templates.ts` is authoritative and CI-guarded; an external agent cannot widen it. A same-named template action overrides a builtin (template-over-core precedence). Disable the whole set with `MCPConfig.builtinCrossAppTools: false`.
|
|
536
536
|
|
|
@@ -538,6 +538,17 @@ The tool and resource catalogs for app hosts are compact by default — see [Cat
|
|
|
538
538
|
|
|
539
539
|
For fast ChatGPT/Claude handoffs, the ideal path is direct: call the action that creates or opens the artifact, then let the MCP App launch the route. A Mail request should call `manage_draft` and render the real compose route. A dashboard request should call `open_app({ path, embed: true })` or a dashboard action with `mcpApp` and render the full Analytics route. Calendar, Forms, Content, Slides, Design, and Clips should follow the same pattern with their draft/create/search actions. `list_apps` is useful when the model must choose among granted apps; broad `resources/list`, full-catalog discovery, or `ask_app` delegation should not be the normal route for an obvious UI handoff.
|
|
540
540
|
|
|
541
|
+
### Long-running agent requests
|
|
542
|
+
|
|
543
|
+
MCP hosts and gateways do not share one long tool-call timeout; some enforce a
|
|
544
|
+
five-minute ceiling and others are configurable. Do not design an external
|
|
545
|
+
agent integration around a ten-minute blocking `tools/call`. `ask-agent` and
|
|
546
|
+
`ask_app` acknowledge hosted work quickly, then return a durable `taskId` when
|
|
547
|
+
the inline wait expires. Poll with `ask_app_status` using the returned `app`
|
|
548
|
+
and `taskId`; the result includes `pollAfterMs` as a host-friendly interval.
|
|
549
|
+
The task must be created before the first response can time out, so a polling
|
|
550
|
+
URL returned only after a long call is not a reliable recovery contract.
|
|
551
|
+
|
|
541
552
|
### Per-app tour {#tour}
|
|
542
553
|
|
|
543
554
|
Every allow-listed template that produces or lists a navigable resource ships a `link` builder, and the ingest-heavy ones ship a GET + `publicAgent` action so a connected agent can pull live state:
|
|
@@ -701,7 +712,7 @@ It provisions a token (a random `ACCESS_TOKEN` into the workspace `.env` for loc
|
|
|
701
712
|
- **cowork** — the same Claude Code JSON shape in `~/.cowork/mcp.json`.
|
|
702
713
|
- **codex** — an `[mcp_servers.<name>]` block in `~/.codex/config.toml`.
|
|
703
714
|
|
|
704
|
-
The entry runs `npx @agent-native/core@latest mcp serve --app <id>`, which by default is a **thin stdio proxy** to the running local app's `/
|
|
715
|
+
The entry runs `npx @agent-native/core@latest mcp serve --app <id>`, which by default is a **thin stdio proxy** to the running local app's `/mcp` — so the live action registry, HMR, and correct deep links stay the single source of truth. Pass `--standalone` to build the registry in-process instead. When `npx @agent-native/core@latest mcp install` detects a hosted origin (a non-localhost `APP_URL` / `BETTER_AUTH_URL` / `AGENT_NATIVE_MCP_URL` in the workspace `.env`), it writes an `http` client entry pointing at `<origin>/mcp` with a `Bearer` JWT instead of a stdio entry.
|
|
705
716
|
|
|
706
717
|
Companion subcommands:
|
|
707
718
|
|
|
@@ -725,7 +736,7 @@ You can also write the host's MCP config by hand against any deployed endpoint w
|
|
|
725
736
|
"mcpServers": {
|
|
726
737
|
"analytics": {
|
|
727
738
|
"type": "http",
|
|
728
|
-
"url": "https://analytics.agent-native.com/
|
|
739
|
+
"url": "https://analytics.agent-native.com/mcp",
|
|
729
740
|
"headers": { "Authorization": "Bearer <ACCESS_TOKEN-or-JWT>" },
|
|
730
741
|
},
|
|
731
742
|
},
|
|
@@ -767,7 +778,7 @@ Full-app embeds also avoid handing the MCP bearer token to the browser. The MCP
|
|
|
767
778
|
The fallback hosted `connect` flow never copies the deployment's shared secret. Instead:
|
|
768
779
|
|
|
769
780
|
- A logged-in browser session mints a **per-user, scoped, revocable** token — an `A2A_SECRET`-signed JWT carrying the caller's `sub` + `org_domain` and a unique `jti`, so every tool run stays tenant-scoped via `runWithRequestContext`.
|
|
770
|
-
- The existing `/
|
|
781
|
+
- The existing `/mcp` endpoint accepts that token like any other bearer (see [MCP Server](/docs/mcp-protocol)) — no new endpoint, no new transport.
|
|
771
782
|
- The same Connect page lists every token you've minted and lets you **revoke** any of them by `jti`. Treat them like personal access tokens: one per agent client, revoke when a machine is decommissioned.
|
|
772
783
|
- The deep link the agent hands back carries no privileged state. The record-focusing `navigate` write is always scoped to the **browser** session, never the agent's token — so a link is safe to paste into a terminal or chat transcript.
|
|
773
784
|
|
|
@@ -538,7 +538,7 @@ pnpm action reply-to-email '{"emailId":"thread-123","body":"Thanks!"}'
|
|
|
538
538
|
|
|
539
539
|
## تعريضه على MCP {#mcp}
|
|
540
540
|
|
|
541
|
-
مع تمكين MCP، تظهر actions في خادم MCP الخاص بالإطار في `/
|
|
541
|
+
مع تمكين MCP، تظهر actions في خادم MCP الخاص بالإطار في `/mcp`. يحصل كل متصل على كتالوج مضغوط بشكل افتراضي - عناصر مدمجة تواجه التطبيق بالإضافة إلى التطبيق المعلن عن القالب actions - و`tool-search` موجود دائمًا بحيث تظل أي أداة أخرى قابلة للوصول عند الطلب. يتم تقديم سطح الإجراء الكامل فقط عند الاشتراك الصريح (الرمز المميز `--full-catalog` أو `AGENT_NATIVE_MCP_FULL_CATALOG=1`)، ويختار `publicAgent.expose` أداة قراءة/الاستيعاب الآمنة على السطح العام. راجع [MCP Protocol](/docs/mcp-protocol) للتعرف على طبقات الكتالوج والمصادقة وتفاصيل موارد `mcpApp`.
|
|
542
542
|
|
|
543
543
|
بالنسبة للمضيفين MCP القادرين على UI، يمكن للإجراء الإعلان عن مورد MCP Apps الاختياري عبر حقل `mcpApp` (بالإضافة إلى `link` المطابق) بحيث يعرض المضيفون القادرون النتيجة بشكل مضمن. عندما يشير `link` و`mcpApp` إلى نفس المسار، فإن `embedRoute()` يبني كليهما من منشئ مسار خالص واحد:
|
|
544
544
|
|
|
@@ -219,7 +219,7 @@ ACCESS_TOKENS=token1,token2,token3
|
|
|
219
219
|
يمكن أن تعمل نقطة نهاية MCP لكل تطبيق كمورد MCP قياسي محمي. يمكن تكوين العملاء القادرين على OAuth باستخدام MCP URL البعيد فقط:
|
|
220
220
|
|
|
221
221
|
```text
|
|
222
|
-
https://mail.agent-native.com/
|
|
222
|
+
https://mail.agent-native.com/mcp
|
|
223
223
|
```
|
|
224
224
|
|
|
225
225
|
تقوم طلبات MCP غير المصادق عليها بإرجاع تحدي `WWW-Authenticate` الذي يشير إلى `/.well-known/oauth-protected-resource`. يكتشف العميل بعد ذلك بيانات تعريف OAuth الخاصة بالتطبيق، ويسجل عميلًا عامًا ديناميكيًا، ويفتح صفحة ترخيص التطبيق، ويتبادل رمز التفويض مع PKCE للوصول إلى الرموز المميزة وتحديثها.
|
|
@@ -113,16 +113,16 @@ Dispatch هو التطبيق المركزي الذي يقع أمام كل تطب
|
|
|
113
113
|
|
|
114
114
|
### بوابة MCP الموحدة
|
|
115
115
|
|
|
116
|
-
يمكن أن يكون Dispatch هو موصل MCP الفردي للوكلاء الخارجيين: قم بإضافة `https://dispatch.agent-native.com/
|
|
116
|
+
يمكن أن يكون Dispatch هو موصل MCP الفردي للوكلاء الخارجيين: قم بإضافة `https://dispatch.agent-native.com/mcp` مرة واحدة في Claude أو ChatGPT أو Codex أو Cursor، وسيصل تخويل واحد إلى كل تطبيق مساحة عمل ممنوح بدلاً من موصل واحد لكل تطبيق. راجع [External Agents](/docs/external-agents) للاطلاع على تدفق الاتصال الكامل ومنح التطبيقات وOAuth ومعاينات تطبيقات MCP المضمنة.
|
|
117
117
|
|
|
118
|
-
<Endpoint id="doc-block-11r2r6y" method="POST" path="/
|
|
118
|
+
<Endpoint id="doc-block-11r2r6y" method="POST" path="/mcp" summary={"نقطة نهاية البوابة الموحدة MCP"} auth="Standard remote MCP OAuth, handled by the framework. The granted-app set scopes which workspace apps the connector can reach." responses={[
|
|
119
119
|
{
|
|
120
120
|
"status": "200",
|
|
121
121
|
"description": "MCP JSON-RPC response — tools, resources, and MCP App UI resources aggregated across granted workspace apps."
|
|
122
122
|
}
|
|
123
123
|
]}>
|
|
124
124
|
|
|
125
|
-
The single MCP connector URL external agents add (e.g. `https://dispatch.agent-native.com/
|
|
125
|
+
The single MCP connector URL external agents add (e.g. `https://dispatch.agent-native.com/mcp`). One authorization here reaches every **granted** workspace app instead of wiring one connector per app. App grants, OAuth, and inline MCP App previews are covered in [External Agents](/docs/external-agents).
|
|
126
126
|
|
|
127
127
|
</Endpoint>
|
|
128
128
|
|
|
@@ -98,7 +98,7 @@ search: "Claude ChatGPT Claude الكود Codex المؤشر Claude Cowork MCP
|
|
|
98
98
|
للعمل في مساحة العمل أو عبر التطبيقات، استخدم Dispatch:
|
|
99
99
|
|
|
100
100
|
```text
|
|
101
|
-
https://dispatch.agent-native.com/
|
|
101
|
+
https://dispatch.agent-native.com/mcp
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
Dispatch هو البوابة الوحيدة للبريد والتقويم والتحليلات والعقل و
|
|
@@ -109,12 +109,12 @@ Dispatch هو البوابة الوحيدة للبريد والتقويم وال
|
|
|
109
109
|
بالنسبة إلى تطبيق واحد معزول عمدًا، استخدم هذا التطبيق مباشرةً:
|
|
110
110
|
|
|
111
111
|
```text
|
|
112
|
-
https://mail.agent-native.com/
|
|
113
|
-
https://<your-app>.agent-native.com/
|
|
112
|
+
https://mail.agent-native.com/mcp
|
|
113
|
+
https://<your-app>.agent-native.com/mcp
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
يحتوي كل تطبيق مستضاف أيضًا على صفحة مساعدة على
|
|
117
|
-
`https://<app>/
|
|
117
|
+
`https://<app>/mcp/connect` مع URL القابل للنسخ و
|
|
118
118
|
علامات التبويب الخاصة بالمضيف لـ Claude، وChatGPT، والمؤشر، وClaude Code، وCodex، وغيرها.
|
|
119
119
|
|
|
120
120
|
### Claude وChatGPT OAuth {#oauth}
|
|
@@ -237,7 +237,7 @@ npx @agent-native/core@latest connect https://mail.agent-native.com
|
|
|
237
237
|
npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex
|
|
238
238
|
```
|
|
239
239
|
|
|
240
|
-
يبحث `reconnect` عن أي إدخال تكوين MCP ينتهي URL بـ `/
|
|
240
|
+
يبحث `reconnect` عن أي إدخال تكوين MCP ينتهي URL بـ `/mcp` للمضيف المحدد والعميل المحدد (المطابقة بواسطة URL بغض النظر عن اسم الموصل)، ثم يقوم بتحديث مادة المصادقة أو استبدالها دون لمس skills المثبت أو إعادة تشغيل تدفق التثبيت الكامل. تمرير التطبيق الأساسي URL (على سبيل المثال، `https://plan.agent-native.com`) - يتم استنتاج لاحقة `/mcp`. يتم تحميل المصادقة والأداة لكل عميل، لذا قم بإعادة تشغيل/إعادة تحميل هذا العميل بعد ذلك؛ يحتاج Codex إلى جلسة جديدة قبل ظهور الأدوات المحملة حديثًا.
|
|
241
241
|
|
|
242
242
|
في Claude Code، مسار UI المكافئ هو: تشغيل `/mcp` واختيار **مصادقة** (أو **إعادة الاتصال**) للموصل ذي الصلة.
|
|
243
243
|
|
|
@@ -245,7 +245,7 @@ npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --clien
|
|
|
245
245
|
|
|
246
246
|
### ربط الصفحة الاحتياطية {#connect-page-fallback}
|
|
247
247
|
|
|
248
|
-
بالنسبة لعملاء MCP الذين لا يمكنهم إضافة OAuth URL عن بعد مباشرةً، افتح التطبيق في متصفحك واستخدم تكلفة **الاتصال** (المقدمة في `https://<app>/
|
|
248
|
+
بالنسبة لعملاء MCP الذين لا يمكنهم إضافة OAuth URL عن بعد مباشرةً، افتح التطبيق في متصفحك واستخدم تكلفة **الاتصال** (المقدمة في `https://<app>/mcp/connect`). أثناء تسجيل الدخول، انقر فوق **الاتصال / التفويض**. تمنحك الصفحة إما رابطًا عميقًا بنقرة واحدة يقوم بتكوين الوكيل المكتشف، أو كتلة `.mcp.json` جاهزة للصقه:
|
|
249
249
|
|
|
250
250
|
```jsonc
|
|
251
251
|
// .mcp.json
|
|
@@ -253,7 +253,7 @@ npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --clien
|
|
|
253
253
|
"mcpServers": {
|
|
254
254
|
"mail": {
|
|
255
255
|
"type": "http",
|
|
256
|
-
"url": "https://mail.agent-native.com/
|
|
256
|
+
"url": "https://mail.agent-native.com/mcp",
|
|
257
257
|
"headers": { "Authorization": "Bearer <minted-token>" },
|
|
258
258
|
},
|
|
259
259
|
},
|
|
@@ -270,13 +270,13 @@ npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --clien
|
|
|
270
270
|
|
|
271
271
|
```bash
|
|
272
272
|
claude mcp add --transport http agent-native \
|
|
273
|
-
https://dispatch.agent-native.com/
|
|
273
|
+
https://dispatch.agent-native.com/mcp
|
|
274
274
|
```
|
|
275
275
|
|
|
276
276
|
هذا هو نفس الإدخال URL فقط الذي يكتبه لك `npx @agent-native/core@latest connect https://dispatch.agent-native.com --client claude-code`. ثم قم بتشغيل `/mcp` في رمز Claude واختر **Authenticate**. يكتشف العميل المصادقة من تحدي `401 WWW-Authenticate` الخاص بخادم MCP، ويجلب `/.well-known/oauth-protected-resource` و`/.well-known/oauth-authorization-server`، ويسجل عميل OAuth العام ديناميكيًا، ويفتح صفحة ترخيص التطبيق، ويخزن الرمز المميز الناتج بشكل آمن. تستخدم موصلات وضع المطور ChatGPT نفس الخادم URL:
|
|
277
277
|
|
|
278
278
|
```text
|
|
279
|
-
https://dispatch.agent-native.com/
|
|
279
|
+
https://dispatch.agent-native.com/mcp
|
|
280
280
|
```
|
|
281
281
|
|
|
282
282
|
تدفق OAuth هو رمز التفويض + PKCE مع تدوير رمز التحديث. رموز الوصول مرتبطة بالجمهور بمورد MCP الدقيق URL وتحمل هوية المستخدم/المؤسسة الموقعة، لذا فإن استدعاءات الأدوات، `resources/read`، وMCP App iframe `tools/call` كلها تعمل من خلال نفس نطاق المستأجر `runWithRequestContext` مثل مسار JWT الحالي المتصل. لا يتلقى إطار iframe رموز OAuth الأولية أبدًا؛ يتوسط المضيف المكالمات من خلال اتصال MCP المصادق عليه.
|
|
@@ -500,13 +500,13 @@ Claude Code calls: manage-draft(to: "john@example.com", subject: "Q3 Report", bo
|
|
|
500
500
|
|
|
501
501
|
علاوة على أدوات تنفيذ الإجراء، يعرض خادم MCP مجموعة أفعال ثابتة، بحيث يتمتع الوكيل الخارجي بسطح يمكن التنبؤ به دون تخمين أسماء الإجراءات لكل تطبيق:
|
|
502
502
|
|
|
503
|
-
| الأداة | الآثار الجانبية | المرتجعات
|
|
504
|
-
| -------------------------------------------------- | --------------- |
|
|
505
|
-
| `list_apps` | لا شيء | تطبيقات مساحة العمل + URL/حالة التشغيل
|
|
506
|
-
| `open_app({ app, view?, path?, params?, embed? })` | لا شيء | رابط عميق أو مسار من نفس المصدر؛ يعرض `embed: true` التطبيق الكامل مضمنًا حيث يكون مدعومًا
|
|
507
|
-
| `ask_app({ app, message })`
|
|
508
|
-
| `create_workspace_app({ name, template })` | السقالات | تطبيق جديد تم تشغيله عبر مسار مساحة العمل، بالإضافة إلى URL قيد التشغيل + رابط عميق
|
|
509
|
-
| `list_templates` | لا شيء | النماذج المسموح بها فقط
|
|
503
|
+
| الأداة | الآثار الجانبية | المرتجعات |
|
|
504
|
+
| -------------------------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
505
|
+
| `list_apps` | لا شيء | تطبيقات مساحة العمل + URL/حالة التشغيل |
|
|
506
|
+
| `open_app({ app, view?, path?, params?, embed? })` | لا شيء | رابط عميق أو مسار من نفس المصدر؛ يعرض `embed: true` التطبيق الكامل مضمنًا حيث يكون مدعومًا |
|
|
507
|
+
| `ask_app({ app, message, async?, maxWaitMs? })` | حلقة الوكيل | توجيه مهمة باللغة الطبيعية إلى الوكيل داخل التطبيق لذلك التطبيق؛ تُرجع المهام الطويلة `taskId` دائمًا لاستطلاع `ask_app_status` |
|
|
508
|
+
| `create_workspace_app({ name, template })` | السقالات | تطبيق جديد تم تشغيله عبر مسار مساحة العمل، بالإضافة إلى URL قيد التشغيل + رابط عميق |
|
|
509
|
+
| `list_templates` | لا شيء | النماذج المسموح بها فقط |
|
|
510
510
|
|
|
511
511
|
يرفض `create_workspace_app` أي قالب غير مدرج في القائمة المسموح بها - القائمة المسموح بها للقالب العام في `packages/shared-app-config/templates.ts` موثوقة ومحمية بواسطة CI؛ ولا يمكن لعامل خارجي توسيعه. يتجاوز إجراء القالب الذي يحمل نفس الاسم الإجراء المدمج (أسبقية القالب على المركز الأساسي). قم بتعطيل المجموعة بأكملها باستخدام `MCPConfig.builtinCrossAppTools: false`.
|
|
512
512
|
|
|
@@ -514,6 +514,10 @@ Claude Code calls: manage-draft(to: "john@example.com", subject: "Q3 Report", bo
|
|
|
514
514
|
|
|
515
515
|
بالنسبة لعمليات التسليم السريعة لـ ChatGPT/Claude، يكون المسار المثالي مباشرًا: اتصل بالإجراء الذي ينشئ القطعة الأثرية أو يفتحها، ثم اسمح لتطبيق MCP بتشغيل المسار. يجب أن يستدعي طلب البريد `manage_draft` ويقدم مسار الإنشاء الحقيقي. يجب أن يستدعي طلب لوحة المعلومات `open_app({ path, embed: true })` أو إجراء لوحة المعلومات باستخدام `mcpApp` ويقدم مسار Analytics الكامل. يجب أن يتبع التقويم والنماذج والمحتوى والشرائح والتصميم والمقاطع نفس النمط مع المسودة/الإنشاء/البحث في actions. يكون `list_apps` مفيدًا عندما يتعين على النموذج الاختيار من بين التطبيقات الممنوحة؛ لا ينبغي أن يكون `resources/list` واسع النطاق، أو اكتشاف الكتالوج الكامل، أو تفويض `ask_app` هو المسار الطبيعي لعملية تسليم UI الواضحة.
|
|
516
516
|
|
|
517
|
+
### الطلبات الوكيلية طويلة الأمد
|
|
518
|
+
|
|
519
|
+
لا تشترك مضيفات وبوابات MCP في مهلة زمنية واحدة طويلة لاستدعاء الأداة؛ يفرض بعضها حدًا أقصى مدته خمس دقائق بينما يكون بعضها الآخر قابلاً للتكوين. لا تصمم تكامل الوكيل الخارجي بالاعتماد على استدعاء `tools/call` محظور لمدة عشر دقائق. يقر كل من `ask-agent` و`ask_app` بالعمل المستضاف بسرعة، ثم يُرجعان `taskId` دائمًا عند انتهاء مهلة الانتظار المضمّن. استطلع باستخدام `ask_app_status` مستخدمًا `app` و`taskId` المُرجعين؛ وتتضمن النتيجة `pollAfterMs` كفاصل زمني ملائم للمضيف. يجب إنشاء المهمة قبل أن تنتهي مهلة الاستجابة الأولى، لذا فإن رابط الاستطلاع الذي يُرجع فقط بعد استدعاء طويل ليس عقد استرداد يمكن الاعتماد عليه.
|
|
520
|
+
|
|
517
521
|
### جولة لكل تطبيق {#tour}
|
|
518
522
|
|
|
519
523
|
يقوم كل قالب مدرج في القائمة المسموح بها ينتج موردًا قابلاً للملاحة أو يسرده بشحن أداة إنشاء `link`، وتقوم القوالب ذات الاستيعاب الثقيل بشحن إجراء GET + `publicAgent` حتى يتمكن الوكيل المتصل من سحب الحالة المباشرة:
|
|
@@ -677,7 +681,7 @@ npx @agent-native/core@latest mcp install --client claude-code|claude-code-cli|c
|
|
|
677
681
|
- **العمل المشترك** — نفس شكل الرمز Claude JSON في `~/.cowork/mcp.json`.
|
|
678
682
|
- **codex** — كتلة `[mcp_servers.<name>]` في `~/.codex/config.toml`.
|
|
679
683
|
|
|
680
|
-
يعمل الإدخال على تشغيل `npx @agent-native/core@latest mcp serve --app <id>`، وهو افتراضيًا ** وكيل stdio رفيع ** إلى `/
|
|
684
|
+
يعمل الإدخال على تشغيل `npx @agent-native/core@latest mcp serve --app <id>`، وهو افتراضيًا ** وكيل stdio رفيع ** إلى `/mcp` للتطبيق المحلي قيد التشغيل - لذا يظل سجل الإجراء المباشر، HMR، والروابط العميقة الصحيحة المصدر الوحيد للحقيقة. قم بتمرير `--standalone` لإنشاء التسجيل قيد التشغيل بدلاً من ذلك. عندما يكتشف `npx @agent-native/core@latest mcp install` أصلًا مستضافًا (مضيف غير محلي `APP_URL` / `BETTER_AUTH_URL` / `AGENT_NATIVE_MCP_URL` في مساحة العمل `.env`)، فإنه يكتب إدخال عميل `http` يشير إلى `<origin>/mcp` باستخدام `Bearer` JWT بدلاً من إدخال stdio.
|
|
681
685
|
|
|
682
686
|
الأوامر الفرعية المصاحبة:
|
|
683
687
|
|
|
@@ -701,7 +705,7 @@ npx @agent-native/core@latest mcp install --client claude-code|claude-code-cli|c
|
|
|
701
705
|
"mcpServers": {
|
|
702
706
|
"analytics": {
|
|
703
707
|
"type": "http",
|
|
704
|
-
"url": "https://analytics.agent-native.com/
|
|
708
|
+
"url": "https://analytics.agent-native.com/mcp",
|
|
705
709
|
"headers": { "Authorization": "Bearer <ACCESS_TOKEN-or-JWT>" },
|
|
706
710
|
},
|
|
707
711
|
},
|
|
@@ -743,7 +747,7 @@ npx @agent-native/core@latest connect prod --apps mail,calendar,analytics --clie
|
|
|
743
747
|
لا يقوم تدفق `connect` المستضاف الاحتياطي بنسخ السر المشترك للنشر مطلقًا. بدلاً من ذلك:
|
|
744
748
|
|
|
745
749
|
- تقوم جلسة المتصفح التي تم تسجيل الدخول بإصدار رمز مميز **لكل مستخدم، محدد النطاق، قابل للإلغاء** — `A2A_SECRET` موقع JWT يحمل `sub` + `org_domain` للمتصل و`jti` فريد من نوعه، بحيث تظل كل أداة يتم تشغيلها ضمن نطاق المستأجر عبر `runWithRequestContext`.
|
|
746
|
-
- تقبل نقطة النهاية `/
|
|
750
|
+
- تقبل نقطة النهاية `/mcp` الحالية هذا الرمز المميز مثل أي حامل آخر (راجع [MCP Protocol](/docs/mcp-protocol)) - لا توجد نقطة نهاية جديدة ولا نقل جديد.
|
|
747
751
|
- تدرج نفس صفحة الاتصال كل الرموز المميزة التي قمت بسكها وتتيح لك **إلغاء** أيًا منها بواسطة `jti`. تعامل معها مثل رموز الوصول الشخصية: واحدة لكل عميل وكيل، ويتم إبطالها عند إيقاف تشغيل الجهاز.
|
|
748
752
|
- لا يحمل الرابط العميق الذي يعيده الوكيل أي حالة مميزة. يتم دائمًا تحديد نطاق كتابة `navigate` التي تركز على السجل على جلسة **المتصفح**، وليس الرمز المميز للوكيل أبدًا — لذلك يكون الرابط آمنًا للصقه في محطة طرفية أو نص دردشة.
|
|
749
753
|
|
|
@@ -245,6 +245,32 @@ MCP_SERVERS='{"servers":{"zapier":{"type":"http","url":"https://mcp.example.com/
|
|
|
245
245
|
|
|
246
246
|
تمنح خوادم MCP (نموذج سياق البروتوكول) وكيلك قدرات جديدة - مثل الاتصال بـ Zapier، أو Cloudflare، أو Composio، أو الأدوات الداخلية لشركتك. بمجرد الاتصال، يمكن للوكيل استخدام هذه الأدوات تمامًا مثل الأدوات المدمجة فيه.
|
|
247
247
|
|
|
248
|
+
معرّفات الإعدادات المسبقة هي `context7` و`sentry` و`notion` و`semgrep` و`linear`
|
|
249
|
+
و`atlassian` و`supabase` و`neon` و`stripe`.
|
|
250
|
+
|
|
251
|
+
### Atlassian / Jira
|
|
252
|
+
|
|
253
|
+
يستخدم إعداد Atlassian المسبق نقطة نهاية OAuth 2.1 الخاصة بـ Atlassian Rovo MCP،
|
|
254
|
+
`https://mcp.atlassian.com/v1/mcp/authv2`، ويوفّر أدوات Jira وConfluence.
|
|
255
|
+
يتطلب إنشاء تذاكر Jira أذونات Atlassian التي تشمل عمليات الكتابة في Jira؛
|
|
256
|
+
ولا يرى المستخدم سوى المشاريع والمحتوى المسموح بهما لحسابه على Atlassian.
|
|
257
|
+
|
|
258
|
+
يمكن لمسؤولي مؤسسات Atlassian التحكم في السماح لعميل OAuth بالاتصال.
|
|
259
|
+
قبل الاتصال، قد يحتاج المسؤول إلى إضافة أصل HTTPS الفعلي للتطبيق إلى قائمة
|
|
260
|
+
النطاقات الموثوقة ضمن **Atlassian Administration → Rovo →
|
|
261
|
+
Rovo MCP server → Domains**، وتمكين أذونات **Read** و**Write** و**Search**
|
|
262
|
+
المطلوبة ضمن **Permissions**. يجب أن يكون النطاق هو المضيف الذي يعمل عليه
|
|
263
|
+
تطبيق agent-native؛ لا تنسخ `https://builder.io/**` إلى عملية نشر أخرى إلا إذا
|
|
264
|
+
كان ذلك هو أصلها الفعلي. راجع [دليل إعداد Rovo MCP من Atlassian](https://developer.atlassian.com/cloud/rovo-mcp/guides/getting-started/)
|
|
265
|
+
و[عناصر تحكم المسؤول](https://support.atlassian.com/security-and-access-policies/docs/control-atlassian-rovo-mcp-server-settings/).
|
|
266
|
+
|
|
267
|
+
يوفّر الكتالوج نقطة النهاية وإرشادات الإعداد. يخزّن نموذج الإعدادات العام نقطة
|
|
268
|
+
النهاية والرؤوس المشفّرة الاختيارية؛ ولا يحل محل تدفق موافقة OAuth التفاعلي
|
|
269
|
+
الخاص بـ Atlassian. استخدم عميل MCP أو بيئة تشغيل تدعم OAuth عندما يتطلب
|
|
270
|
+
Atlassian مصادقة OAuth التفاعلية. إذا كان الموفّر أو بيئة التشغيل يدعم رمز
|
|
271
|
+
Bearer ثابتًا، فاتبع مسار إدارة الأسرار المعتمد لديه، ولا تلصق الرموز أبدًا
|
|
272
|
+
في المطالبات أو الإعدادات الملتزم بها.
|
|
273
|
+
|
|
248
274
|
### كيفية الاتصال بخادم MCP البعيد
|
|
249
275
|
|
|
250
276
|
1. **اسم الخادم** — تسمية قصيرة للرجوع إليها (على سبيل المثال، "zapier"، "slack-tools").
|
|
@@ -263,7 +289,7 @@ MCP_SERVERS='{"servers":{"zapier":{"type":"http","url":"https://mcp.example.com/
|
|
|
263
289
|
|
|
264
290
|
يضيف ويزيل التحميل السريع إلى مدير MCP قيد التشغيل - لا إعادة تشغيل للعملية، ولا إعادة تشغيل للخادم. تظهر أدوات `mcp__<scope>-<name>__*` الجديدة للوكيل في الرسالة التالية ويمكن البحث فيها عبر `tool-search`.
|
|
265
291
|
|
|
266
|
-
يتم قبول HTTPS URL في كل مكان؛ يُسمح فقط بـ `http://` العادي لـ `localhost` أثناء التطوير. يتم إدخال المصادقة الاختيارية كرمز مميز لحامل يتم إرساله عبر `Authorization: Bearer …` عند كل طلب.
|
|
292
|
+
يتم قبول HTTPS URL في كل مكان؛ يُسمح فقط بـ `http://` العادي لـ `localhost` أثناء التطوير. يتم إدخال المصادقة الاختيارية كرمز مميز لحامل يتم إرساله عبر `Authorization: Bearer …` عند كل طلب. يتطلب الموفّرون الذين يدعمون OAuth فقط، بما في ذلك Atlassian Rovo MCP، تدفق OAuth الخاص بالموفّر بدلاً من رأس ثابت.
|
|
267
293
|
|
|
268
294
|
تحت الغطاء، تظل هذه الخوادم موجودة في جدول `settings` الخاص بإطار العمل تحت المفتاح `u:<email>:mcp-servers-remote` (شخصي) أو `o:<orgId>:mcp-servers-remote` (فريق) ويتم دمجها مع `mcp.config.json` عند بدء التشغيل.
|
|
269
295
|
|
|
@@ -292,7 +318,9 @@ Dispatch هو المركز التقليدي - فهو ينسق بالفعل عب
|
|
|
292
318
|
<div class="diagram-panel center" data-rough>
|
|
293
319
|
<span class="diagram-pill accent">Dispatch hub</span
|
|
294
320
|
><small class="diagram-muted">خوادم MCP على نطاق المؤسسة</small
|
|
295
|
-
><small class="diagram-muted"
|
|
321
|
+
><small class="diagram-muted"
|
|
322
|
+
><code>GET /_agent-native/mcp/hub/servers</code></small
|
|
323
|
+
>
|
|
296
324
|
</div>
|
|
297
325
|
<div class="diagram-col arrows">
|
|
298
326
|
<div class="diagram-arrow diagram-muted" aria-hidden="true">→</div>
|
|
@@ -454,7 +482,7 @@ Reports which configured servers connected, the total live tool count, the merge
|
|
|
454
482
|
|
|
455
483
|
لا تؤدي حالات فشل خادم MCP الفردية إلى إزالة الوكيل مطلقًا:
|
|
456
484
|
|
|
457
|
-
- تم تكوين `command` بشكل خاطئ → تم تخطي الخادم، ويظهر خطأه في `/mcp/status` ضمن `errors.<server-id>`، ويستمر كل خادم آخر في العمل.
|
|
485
|
+
- تم تكوين `command` بشكل خاطئ → تم تخطي الخادم، ويظهر خطأه في `/_agent-native/mcp/status` ضمن `errors.<server-id>`، ويستمر كل خادم آخر في العمل.
|
|
458
486
|
- MCP SDK مفقود من `node_modules` → تم تخطي جميع وظائف MCP مع تحذير؛ تستمر دردشة الوكيل في العمل بدون أدوات MCP.
|
|
459
487
|
- التشغيل في وقت تشغيل الحافة ← عميل MCP غير متاح.
|
|
460
488
|
|
|
@@ -22,7 +22,7 @@ MCP هو البروتوكول القياسي لتوصيل أدوات الذكا
|
|
|
22
22
|
|
|
23
23
|
المفاهيم الأساسية:
|
|
24
24
|
|
|
25
|
-
- **يتم التثبيت تلقائيًا** — يحصل كل تطبيق على `/
|
|
25
|
+
- **يتم التثبيت تلقائيًا** — يحصل كل تطبيق على `/mcp` مجانًا، دون الحاجة إلى أي إعداد
|
|
26
26
|
- **HTTP** قابل للبث\*\* — يستخدم نقل MCP الحديث عبر HTTP القياسي (POST + SSE)
|
|
27
27
|
- **نفس actions** — نفس سجل الإجراءات الذي يدعم دردشة الوكيل وA2A
|
|
28
28
|
- **أداة `ask-agent`** — أداة تعريفية تقوم بتفويض حلقة الوكيل الكاملة للمهام المعقدة
|
|
@@ -41,7 +41,7 @@ MCP هو البروتوكول القياسي لتوصيل أدوات الذكا
|
|
|
41
41
|
</div>
|
|
42
42
|
<div class="diagram-arrow diagram-muted" aria-hidden="true">→</div>
|
|
43
43
|
<div class="diagram-panel">
|
|
44
|
-
<span class="diagram-pill accent">POST /
|
|
44
|
+
<span class="diagram-pill accent">POST /mcp</span
|
|
45
45
|
><small class="diagram-muted">Streamable HTTP</small
|
|
46
46
|
><small class="diagram-muted"
|
|
47
47
|
>initialize → tools/list → tools/call</small
|
|
@@ -94,7 +94,7 @@ MCP هو البروتوكول القياسي لتوصيل أدوات الذكا
|
|
|
94
94
|
| **الأفضل لـ** | أدوات خارجية تتصل بتطبيقك | الاتصال من وكيل إلى وكيل |
|
|
95
95
|
| **البروتوكول** | MCP HTTP قابل للبث | JSON-RPC 2.0 |
|
|
96
96
|
| **اكتشاف الأداة** | `tools/list` | بطاقة الوكيل في `/.well-known/agent-card.json` |
|
|
97
|
-
| **نقطة النهاية** | `/
|
|
97
|
+
| **نقطة النهاية** | `/mcp` | `/_agent-native/a2a` |
|
|
98
98
|
| **بدعم من** | Claude، ChatGPT، Claude Code، Cursor، Codex، Cowork، ومضيفو MCP الآخرون | تطبيقات أخرى خاصة بالوكيل |
|
|
99
99
|
| **التنفيذ** | استدعاءات الأداة المباشرة (بدون LLM إضافية) | حلقة الوكيل الكاملة (استدلال LLM) |
|
|
100
100
|
|
|
@@ -105,7 +105,7 @@ MCP هو البروتوكول القياسي لتوصيل أدوات الذكا
|
|
|
105
105
|
للحصول على الإعداد الموصى به لأمر واحد، استخدم [External Agents](/docs/external-agents). إذا كنت تكتب يدويًا تهيئة MCP لعميل يدعم OAuth، فأضف تطبيقك كخادم MCP بعيد بدون رؤوس ثابتة:
|
|
106
106
|
|
|
107
107
|
```bash
|
|
108
|
-
claude mcp add --transport http mail https://mail.example.com/
|
|
108
|
+
claude mcp add --transport http mail https://mail.example.com/mcp
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
أو اكتب الإدخال يدويًا في `.mcp.json` (نطاق المشروع) أو `~/.claude.json` (نطاق المستخدم):
|
|
@@ -116,7 +116,7 @@ claude mcp add --transport http mail https://mail.example.com/_agent-native/mcp
|
|
|
116
116
|
"mcpServers": {
|
|
117
117
|
"mail": {
|
|
118
118
|
"type": "http",
|
|
119
|
-
"url": "https://mail.example.com/
|
|
119
|
+
"url": "https://mail.example.com/mcp",
|
|
120
120
|
},
|
|
121
121
|
},
|
|
122
122
|
}
|
|
@@ -135,12 +135,12 @@ Claude Code calls: draft-email(to: "john@example.com", subject: "Q3 Report", bod
|
|
|
135
135
|
يمكن لأي عميل MCP يدعم النقل HTTP القابل للتدفق الاتصال. نقطة النهاية هي:
|
|
136
136
|
|
|
137
137
|
```
|
|
138
|
-
POST https://your-app.example.com/
|
|
138
|
+
POST https://your-app.example.com/mcp
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
يدعم الخادم مصافحة MCP القياسية: `initialize` → `initialized` → `tools/list` → `tools/call`.
|
|
142
142
|
|
|
143
|
-
<Endpoint id="doc-block-17mmuo8" title={"MCP نقطة النهاية"} summary={"نقطة نهاية Streamable HTTP المثبتة تلقائيًا والتي يكشفها كل تطبيق أصلي للوكيل."} method="POST" path="/
|
|
143
|
+
<Endpoint id="doc-block-17mmuo8" title={"MCP نقطة النهاية"} summary={"نقطة نهاية Streamable HTTP المثبتة تلقائيًا والتي يكشفها كل تطبيق أصلي للوكيل."} method="POST" path="/mcp" summary={"MCP نقطة النهاية HTTP القابلة للبث"} auth="Standard remote MCP OAuth (Bearer access token), connect-minted JWT, or static ACCESS_TOKEN/ACCESS_TOKENS" params={[
|
|
144
144
|
{
|
|
145
145
|
"name": "Authorization",
|
|
146
146
|
"in": "header",
|
|
@@ -204,18 +204,32 @@ Auto-mounted on every app. Speaks the standard MCP handshake (`initialize` → `
|
|
|
204
204
|
|
|
205
205
|
بالإضافة إلى أدوات العمل الفردية، يتضمن كل خادم MCP أداة تعريف `ask-agent`. يؤدي هذا إلى إرسال رسالة باللغة الطبيعية إلى وكيل الذكاء الاصطناعي للتطبيق وإرجاع الرد.
|
|
206
206
|
|
|
207
|
+
تستخدم طلبات MCP المستضافة انتظارًا مضمّنًا محدودًا حتى لا تُبقي حلقة وكيل طويلة استدعاء `tools/call` واحدًا مفتوحًا حتى انتهاء مهلة العميل أو البوابة. تبدأ الوسيطة الاختيارية `async` المهمة الدائمة وتُرجع فورًا؛ وبدونها، ينتظر الخادم لفترة قصيرة إتمامًا سريعًا ثم يُرجع معرّف مهمة عند تبقّي المزيد من العمل. يبلغ الحد الأقصى للانتظار المستضاف 25 ثانية.
|
|
208
|
+
|
|
207
209
|
استخدم `ask-agent` للمهام المعقدة التي تستفيد من منطق الوكيل وسياقه:
|
|
208
210
|
|
|
209
211
|
```json
|
|
210
212
|
{
|
|
211
213
|
"name": "ask-agent",
|
|
212
214
|
"arguments": {
|
|
213
|
-
"message": "Draft a follow-up email to the Q3 planning thread with John, summarizing the action items we discussed"
|
|
215
|
+
"message": "Draft a follow-up email to the Q3 planning thread with John, summarizing the action items we discussed",
|
|
216
|
+
"async": true
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
يُدير الوكيل نفس الحلقة مثل الدردشة التفاعلية — يمكنه استدعاء أدوات متعددة، والتفكير في السياق، وتقديم استجابة مدروسة. تُرجع المهمة غير المكتملة JSON يحتوي على `taskId` و`status` و`pollAfterMs`، بالإضافة إلى:
|
|
222
|
+
|
|
223
|
+
```json
|
|
224
|
+
{
|
|
225
|
+
"poll": {
|
|
226
|
+
"tool": "ask_app_status",
|
|
227
|
+
"arguments": { "app": "mail", "taskId": "task_123" }
|
|
214
228
|
}
|
|
215
229
|
}
|
|
216
230
|
```
|
|
217
231
|
|
|
218
|
-
|
|
232
|
+
استدعِ `ask_app_status` بتلك الوسيطات حتى تصل المهمة إلى حالة نهائية. يستخدم `ask_app` المملوك للتطبيق في Dispatch نفس عقد المهمة الدائمة والحالة، مع التحقق من صلاحية التطبيق المحدد عند كل من الإرسال والاستطلاع.
|
|
219
233
|
|
|
220
234
|
## المصادقة {#authentication}
|
|
221
235
|
|
|
@@ -233,7 +247,7 @@ Auto-mounted on every app. Speaks the standard MCP handshake (`initialize` → `
|
|
|
233
247
|
بالنسبة للمضيفين MCP القادرين على OAuth، قم بتكوين الخادم البعيد URL بدون رؤوس ثابتة:
|
|
234
248
|
|
|
235
249
|
```bash
|
|
236
|
-
claude mcp add --transport http agent-native https://dispatch.agent-native.com/
|
|
250
|
+
claude mcp add --transport http agent-native https://dispatch.agent-native.com/mcp
|
|
237
251
|
```
|
|
238
252
|
|
|
239
253
|
يتلقى أول طلب MCP غير مصادق عليه:
|
|
@@ -249,9 +263,9 @@ WWW-Authenticate: Bearer resource_metadata="https://dispatch.agent-native.com/.w
|
|
|
249
263
|
| ----------------------------------------- | ------------------------------------------- |
|
|
250
264
|
| `/.well-known/oauth-protected-resource` | البيانات التعريفية للموارد المحمية RFC 9728 |
|
|
251
265
|
| `/.well-known/oauth-authorization-server` | البيانات التعريفية لخادم التخويل OAuth |
|
|
252
|
-
| `/
|
|
253
|
-
| `/
|
|
254
|
-
| `/
|
|
266
|
+
| `/mcp/oauth/register` | التسجيل الديناميكي للعميل العام |
|
|
267
|
+
| `/mcp/oauth/authorize` | تخويل المتصفح + الموافقة |
|
|
268
|
+
| `/mcp/oauth/token` | منح رمز التفويض ورمز التحديث |
|
|
255
269
|
|
|
256
270
|
<Diagram id="doc-block-7e3ku8" title={"OAuth تدفق الاكتشاف"} summary={"يبدأ 401 عملية الاكتشاف والتسجيل وتفويض PKCE → تبادل الرمز المميز. الرمز المميز لحامله مرتبط بالجمهور ومحدد النطاق."}>
|
|
257
271
|
|
|
@@ -351,7 +365,7 @@ export default defineNitroPlugin(async (nitro) => {
|
|
|
351
365
|
لديك تطبيق تحليلات منشور على `analytics.example.com`. من كود Claude:
|
|
352
366
|
|
|
353
367
|
```bash
|
|
354
|
-
claude mcp add --transport http analytics https://analytics.example.com/
|
|
368
|
+
claude mcp add --transport http analytics https://analytics.example.com/mcp
|
|
355
369
|
```
|
|
356
370
|
|
|
357
371
|
أو أضفه يدويًا في `.mcp.json`:
|
|
@@ -362,7 +376,7 @@ claude mcp add --transport http analytics https://analytics.example.com/_agent-n
|
|
|
362
376
|
"mcpServers": {
|
|
363
377
|
"analytics": {
|
|
364
378
|
"type": "http",
|
|
365
|
-
"url": "https://analytics.example.com/
|
|
379
|
+
"url": "https://analytics.example.com/mcp",
|
|
366
380
|
},
|
|
367
381
|
},
|
|
368
382
|
}
|