[FEATURE]:MCP with delete and update #3013

Open
opened 2026-02-16 17:38:15 -05:00 by yindo · 1 comment
Owner

Originally created by @wan-kong on GitHub (Nov 21, 2025).

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

I love this project 👍
In MCP part ,has the statusand add function, so ,it looks can dynamically load mcp
Maybe can add update and delete to pretter manager it ?

here is my demo try:

// code in packages/opencode/src/mcp/index.ts

export async function update(key: string, mcp: Config.Mcp) {
  await remove(key)
  // shoule add rollback logic ?
  return await add(key, mcp)
}

export async function remove(key: string) {
  const s = await state()
  const existing = s.clients[key]

  if (!existing) {
    log.info("remove() client not found", { key })
    return true
  }
  await existing.close()
  delete s.clients[key]

  if (s.status[key]) {
    delete s.status[key]
  }

  log.info("remove() successfully removed client", { key })
  return true
}

if this idea can pass, i'm gald to padding other parts: Docs / API Server / JS SDK.

but i don't know how to add in golang sdk ,sorry.

Originally created by @wan-kong on GitHub (Nov 21, 2025). ### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request I love this project 👍 In MCP part ,has the `status`and `add` function, so ,it looks can dynamically load mcp Maybe can add `update` and `delete` to pretter manager it ? here is my demo try: ```typescript // code in packages/opencode/src/mcp/index.ts export async function update(key: string, mcp: Config.Mcp) { await remove(key) // shoule add rollback logic ? return await add(key, mcp) } export async function remove(key: string) { const s = await state() const existing = s.clients[key] if (!existing) { log.info("remove() client not found", { key }) return true } await existing.close() delete s.clients[key] if (s.status[key]) { delete s.status[key] } log.info("remove() successfully removed client", { key }) return true } ``` if this idea can pass, i'm gald to padding other parts: Docs / API Server / JS SDK. but i don't know how to add in golang sdk ,sorry.
yindo added the discussion label 2026-02-16 17:38:15 -05:00
Author
Owner

@rekram1-node commented on GitHub (Nov 23, 2025):

how would update work in this sense

@rekram1-node commented on GitHub (Nov 23, 2025): how would update work in this sense
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#3013