feat(soul): MCP connectors — /api/connectors proxy + per-connector auto-approve #14
Closed
tim.lingo
wants to merge 2 commits from
feat/connectors-soul into feat/native-web-search
pull from: feat/connectors-soul
merge into: :feat/native-web-search
:main
:feat/cgi-identity-accessors
:fix/restore-soul-identity-producer
:rebase/openai-tools-onto-main
:rebase/gate-state-key-reads-onto-main
:rebase/structural-audit-onto-main
:feat/self-seeded-context
:integrate/semantic-plus-writethrough
:feat/semantic-leg-dropout
:feat/semantic-substrate
:feat/gold-set-heldout
:feat/evidence-weighted-merge
:feat/structural-audit
:feat/claim24-unfloored-semantic
:feat/executive-filter-recall
:feat/bm25-lexical-leg
:feat/semantic-seeded-assoc
:feat/associative-recall-leg
:feat/hybrid-semantic-recall
:chore/retrieval-measurement-contract
:feat/retrieval-eval-harness
:feat/soul-write-through
:feat/recall-through-activation
:chore/regen-soul-amalgam-20260807
:feat/gate-state-key-reads
:fix/129-on-openai-tools
:fix/129-history-amplification
:fix/liveness-engine-91
:feat/soul-openai-tools-v2
:fix/resume-server-tool-replay
:fix/soul-history-provenance-20260805
:feat/soul-plain-chat-generation-20260805
:feat/soul-native-web-search-20260804
:ci/pin-vendored-runtime
:reconcile/soul-union-main
:fix/bound-session-payload-main
:fix/receipts-wrapper-forget
:fix/receipts-agent-tools
:reconcile/neuron-wip-to-main
:fix/bound-session-payload
:hotfix/trackb-threat-to-others
:reconcile/hotfix-to-main-launch
:hotfix/elc-source-typos
:fix/safety-contact-truncation
:fix/genesis-boot-crash
:fix/immutable-on-hotfix
:feat/bounded-persona-floor
:ci/rdynamic-http-handler
:ci/harden-gate-boot
:feat/agent-phase1-soul
:salvage/elh-state-20260704
:feat/soul-model-self-report
:feat/openai-format-providers
:feat/plan-mode-endpoint
:fix/operator-identity-home-resolution
:fix/wrapper-backlog-endpoints
:fix/list-typed-slice-offset
:feat/connectors-call-route
:fix/chat-vision-attachments
:fix/prevent-engram-corruption
:fix/emergency-regressions
:fix/session-continuity-hook
:fix/context-dedup-shared-ids
:fix/engram-float-parser
:improve/recall-context-format
:improve/recall-context-dedup
:improve/recall-cross-session-continuity
:improve/recall-emotional-recall
:improve/recall-activation-seed
:improve/recall-recall-completeness
:improve/recall-temporal-precision
:improve/recall-engram-scoring
:improve/recall-recall-reliability
:improve/recall-session-start-recall
:improve/reliability-engram-write
:improve/reliability-state-management
:improve/soul-memory-formation
:improve/safety-crisis-detection
:improve/reliability-route-error-recovery
:improve/reliability-llm-retry
:improve/reliability-session-boundary
:improve/reliability-safety-resilience
:improve/reliability-engram-connection
:improve/soul-routes-api
:improve/reliability-cross-session-affective
:propose/agent-workspace-root-read
:improve/reliability-conv-history
:improve/soul-strip
:improve/soul-chat-pipeline
:docs/conversation-retrieval-design
:propose/no-fake-tools-in-chat-mode
:fix/ci-soul-build-single-file
:fix/canonical-self-bridge
:feat/agent-tool-workspace-scope
:fix/agentic-tools-duplicate-web-search
:green/agentic-fixes
:feat/connectors-soul
:feat/layer-safety
:feat/layer-imprint
:feat/layer-stewardship
:test/layer-composition
:test/layer-safety
:test/layer-stewardship
:test/layer-imprint
:feat/memory-delete-update
:feat/native-web-search
No Reviewers
Labels
Clear labels
BETA-CRITICAL
blocks-public-beta
HELD
ORTHOGONAL
P0
POST-BETA
security
On the beta critical path — must resolve before ship
Must be fixed before any public beta
Blocked pending an external decision (counsel / dual sign-off)
Parallel workstream (testing/hardening) — safe to assign off critical path
Drop-everything severity
Important but not blocking the beta ship
Security vulnerability
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: neuron-technologies/neuron#14
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "feat/connectors-soul"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Soul side of the connectors feature. Thin-proxies the neuron-connectd bridge (127.0.0.1:7771) so the UI talks to one origin.
Verified LIVE on :7770: chat, recall, /api/connectors all work. Spec: docs/research/mcp-connectors-adoption-spec.md.
🤖 Generated with Claude Code
Adds the soul side of the connectors feature (spec: docs/research/ mcp-connectors-adoption-spec.md). The soul thin-proxies the neuron-connectd bridge on 127.0.0.1:7771 so the UI talks to one origin and never reaches the bridge directly. routes.el: - handle_connectors + connectd_get/connectd_post helpers (POST bodies go via a temp file + curl -d @file, so model/UI input can't reach the shell). - GET /api/connectors and POST /api/connectors/{add,toggle,auto-approve, remove,secret,oauth/start} registered in both GET and POST routers. chat.el: - tool_auto_approved(): an mcp__* tool skips the approval card only when its server is explicitly opted in (off by default; built-in tools unaffected; bridge down -> false). Wired into the agentic approval gate so an auto-approved connector tool flows straight to execution. Regenerated dist/chat.c and dist/routes.c. Verified live on :7770: real chat, recall, and /api/connectors all work after promotion. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>Handoff (auto) — prereq #16.
WHAT: soul-side connectors surface — chat.el (+528 -177), routes.el (+89 -4); pairs with the neuron-connectd bridge.
REAL SOURCE: 617 lines.
RISK: medium — modifies the agentic chat path + adds routes. Review dispatch/approval changes.
VERIFY: soul builds; a connector tool round-trips through /api/connectors; approval gating intact.
ORDER: after #1 and #3.
Pull request closed