Files
mcp-use__mcp-use/.github
Andrew Khadder f2f4fdbf33 Canary (#2334)
* fix(cli): drop the React plugin from the binding-validation server

That server is only created when a project has no views (build.ts calls it
under views.length === 0), so it never has JSX to transform. Loading
@vitejs/plugin-react there pulls react, react-dom and both jsx runtimes into
optimizeDeps, which cannot resolve them because such a project has no reason
to depend on React.

Result was four 'Failed to resolve dependency' lines on the first build of a
fresh scaffold, on 3 of the 4 templates.

react() had no other use in views.ts, so the import goes too.

Closes #2297

* fix(create-mcp-use-app): send "Learn more" to the mcp-use docs (#2328)

* fix(create-mcp-use-app): send "Learn more" to the mcp-use docs

The last line the scaffold prints is:

  📚 Learn more: https://manufact.com/docs

That URL no longer reaches mcp-use documentation. It redirects twice and
lands on Manufact's own dashboard docs:

  https://manufact.com/docs -> 200 https://docs.manufact.com/dashboard

So someone who has just created an mcp-use server is pointed at a
different product's dashboard guide. The README the same command writes
into the new project points at the mcp-use quickstart instead, so the two
halves of one tool disagree.

Point it at the quickstart, which resolves directly with no redirect:

  https://docs.mcp-use.com/v2/typescript/getting-started/quickstart -> 200, 0 hops

The feedback line below it still mentions manufact.com, which is correct:
that one is about where to reach the people, not the docs.

* fix(create-mcp-use-app): use the bare docs host in "Learn more"

Review feedback: docs.mcp-use.com already redirects to the getting-started
page, and the short host reads better in a console message than the full
path.

  https://docs.mcp-use.com -> 200 https://docs.mcp-use.com/v2/typescript/getting-started/welcome

* chore: enter canary prerelease mode

* chore(typescript): version packages (canary)

* test(agent): assert in the two tests that assert nothing (#2316)

Two tests in @mcp-use/agent run their subject and then check nothing, so
they pass no matter what the code does. Both say so in a trailing comment.

stream_events.test.ts "should clean up resources on completion" installs
a spy on agent.close(), consumes the stream, and never looks at the spy.

agent-telemetry.test.ts "should track error type on failure" swallows the
error and leaves a comment guessing that telemetry "might not be called".
It is called: the recorded execution carries success false and errorType
"execution_error".

Both assertions were checked in the failing direction against a
deliberately broken source, not just against a passing run:

  close() calls in the cleanup paths removed
    -> expected "close" to be called at least once

  errorType hardcoded to null
    -> expected { executionMethod: 'stream', … } to match
       object { success: false, errorType: 'execution_error' }

No new test files and no new cases. These are the same two tests, now
able to fail.

* fix(client): disconnect the session createSession replaces (#1964)

* chore(typescript): version packages (canary)

* docs(typescript): enforce the TypeDoc coverage gate the packages already declare (#2312)

* docs(typescript): enforce the TypeDoc coverage gate the packages already declare

Each package's typedoc.json sets validation.notDocumented and
treatWarningsAsErrors, and eslint.config.js states that documentation
coverage "is enforced against each package's public entrypoints by its
strict TypeDoc configuration".

It is not. The only invocation is `pnpm docs:api`, which runs typedoc
with the root typedoc.options.json in packages mode. Validation from the
sub-package configs is applied, but treatWarningsAsErrors is not, so the
command reported 15 coverage warnings and still exited 0.

Set treatWarningsAsErrors in the root options and clear what the gate
then catches:

- Document the members of SkillSnapshotEntry.resources, required by
  packages/server/CLAUDE.md and missing.
- Document the members of SkillsListResult, SkillGetResult,
  SkillDirectoryEntry and SkillDirectoryReadResult in the client.
- Drop five intentionallyNotDocumented entries for react.UseWidgetResult
  and react.UserAgent, neither of which exists in the server source any
  more, and the intentionallyNotExported entry for UseWidgetResultBase.
- Add TurbopackConfig to intentionallyNotExported, matching the existing
  NextHeaderRule entry for the same pattern in the same file, and
  FinishOAuthAuthorization on the client side.

`pnpm docs:api` now exits 0 with zero warnings, and exits 3 again if any
public export loses its documentation.

No changeset: the source edits are doc comments only, with no runtime or
type change to any published API.

* chore(typescript): ignore generated TypeDoc output in eslint

`.typedoc/` is gitignored but not eslint-ignored, so running
`pnpm docs:api` and then `pnpm lint` reports 534 errors from the
generated, minified theme assets. The other generated output
directories are already listed.

* docs(tunnel): bring the fourth package under the same coverage gate

server, client and agent each carry a typedoc.json with
validation.notDocumented and treatWarningsAsErrors. tunnel is in the same
root entryPoints list and had no config at all, so turning the gate on
would have left it as the one published package still unchecked.

Add the matching config and document the three inline members it turns
up, on TunnelManager.start and TunnelManager.status.

* ci(docs): run the documentation checks on canary (#2321)

The Documentation workflow regenerates the API reference, runs
`mint broken-links`, and fails if the committed docs are out of date. It
triggers on `main` and `monorepo`.

`monorepo` does not exist. `git ls-remote --heads origin monorepo` returns
nothing, so that half of the trigger has been dead for a while.

Meanwhile every published package's source lands on `canary` first, and
the workflow never runs there. Checked against the four most recent
canary-targeted pull requests, #2316, #2312, #2309 and #2307: the
"Generate and validate API documentation" check is absent from all of
them, while it runs on main-targeted PRs that touch the same paths.

The practical effect is that documentation drift and broken links are
only caught on the canary-to-main release PR, in one batch, rather than
on the change that introduced them.

Point the trigger at `canary` instead of the branch that is gone. The job
only reads: it regenerates into the working tree and fails if anything
differs. It publishes nothing, so running it on canary is safe.

* docs(cli): remove inaccurate binding server comment

* chore(typescript): version packages (canary)

* fix(inspector): warn when model tool limit is exceeded (#2333)

* chore(typescript): version packages (canary)

* docs: update canary changelogs

* fix: address canary review findings

---------

Co-authored-by: ayaangazali <ayaangazali.work@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vihaan Agarwal <vihaan@clique.so>
2026-08-26 12:17:49 -07:00
..
2025-10-15 19:23:09 +02:00
2026-08-26 12:17:49 -07:00
2026-06-03 13:12:45 -07:00