OpenHands / OpenHands/extensions

feat: add Baizhi Agent Toolkit to the MCP integration catalog

Open
#598 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
148
Forks
90
Avg merge
1d 17h
Merged PRs (30d)
36

Description

Motivation

Hi OpenHands team,

I maintain Baizhi Cloud's Agent Toolkit integrations and coordinate product operations. I am submitting this proposal through ct-jaryn on behalf of Baizhi Cloud, and would welcome the opportunity to maintain a focused integration with your community.

Baizhi Agent Toolkit is a hosted commercial MCP service for web search, page scraping, and structured extraction. It is a tool service, not an LLM inference provider. Each user supplies their own Baizhi account and API key; tool calls can consume service credits. The official integration repository contains integration configuration, documentation, and tests, not the hosted backend's source code.

OpenHands already supports remote MCP servers. The proposed addition is a discoverable catalog entry using that existing implementation, not another MCP client or provider-specific runtime.

Desired Behavior

Add baizhi-agent-toolkit to integrations/catalog/ with one connection option:

  • Transport: shttp (Streamable HTTP).
  • Fixed endpoint: https://agent-toolkit.app.baizhi.cloud/mcp.
  • Authentication: the catalog's existing bearer strategy, with a required Baizhi API key and a console link in the credential help text. Users enter only the key, without the Bearer prefix.
  • Existing Agent Canvas installation UI: select the entry, enter the key in its password field, then explicitly install/connect. No local proxy, OAuth client, or model-provider change is needed.
  • Visible account, service-credit, and data-transfer guidance. The full discovered tool set is determined by the server; this metadata does not enforce a three-tool allowlist or automatically approve tools.

The entry would not set a popularity rank, claim OpenHands endorsement, or additionally copy the MCP credential into an automation secret. Credential persistence remains the responsibility of the existing host flow; a masked field alone is not a claim of verified encryption across deployments.

Acceptance Criteria
  • The new entry validates against the catalog schema and is returned by the JavaScript and Python MCP catalog APIs, but not the OAuth-only filter.
  • The generated catalog index is in sync; no separate provider catalog or application-specific runtime is introduced.
  • The fixed HTTPS URL, required Bearer credential, console link, and cost/tool-scope disclosures are covered by a catalog regression test.
  • In a supported Agent Canvas build consuming the proposed catalog, missing input cannot install the server; cancellation does not change existing server settings; the key field is masked and the payload uses the fixed endpoint and Bearer credential type.
  • Before claiming production compatibility, perform a separately authorized live test covering discovery, an explicitly chosen tool, key replacement, failure handling, and removal. Public CI and artifacts contain no real API keys.
Proposed Contribution and Validation

A small catalog contribution is prepared against OpenHands/extensions@3b31849893dbd665e7bfd92afc313524cccef7f6: one hand-authored JSON entry, the generated index, and a catalog contract test. npm run build:integrations and the three relevant catalog test modules pass locally (117 tests).

The existing password input, required-key validation, fixed-URL handling, and explicit submission path were reviewed in OpenHands/OpenHands@9737f713616a1e452f822c2967f0e2c8bf2dc308. This is source review, not a completed Agent Canvas UI or real-key end-to-end test. The Cloud path's synthetic connection result must not be reported as production verification.

Please let us know if the curated catalog is the appropriate place for this hosted service. We are happy to adjust the presentation and complete the agreed compatibility checks. We will preserve the repository's human-test checkbox and readiness requirements; this request does not imply a partnership or prior approval.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in integrations/catalog/ and inspect the proposed catalog entry at OpenHands/extensions@3b31849893dbd665e7bfd92afc313524cccef7f6. Run npm run build:integrations and the relevant catalog tests, then verify the generated index, schema/API behavior, credential metadata, and regression coverage; completion also requires the stated Agent Canvas checks and an authorized live test without real keys in CI.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, json, python
Domain
api, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.