4051 Commits

Author SHA1 Message Date
dependabot[bot]
3d6c7c1391 Bump diff in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [diff](https://github.com/kpdecker/jsdiff).


Updates `diff` from 5.2.0 to 8.0.3
- [Changelog](https://github.com/kpdecker/jsdiff/blob/master/release-notes.md)
- [Commits](https://github.com/kpdecker/jsdiff/compare/v5.2.0...v8.0.3)

---
updated-dependencies:
- dependency-name: diff
  dependency-version: 8.0.3
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-14 22:23:10 +00:00
David Soria Parra
72e11113ed Merge pull request #3213 from SashankMeka1/kg-type-loading-fix
remove type from loading
2026-01-14 17:15:29 +00:00
Sashank Meka
8af50b9418 remove type from loading 2026-01-13 22:02:20 -05:00
Adam Jones
6b36e3c223 chore: update licensing to Apache 2.0 for new contributions 2026-01-12 22:50:22 +00:00
Ola Hungerford
861c11b786 Merge pull request #3200 from cliffhall/roots-is-optional
Everything server - Fix error when referring to roots
2026-01-10 18:26:12 -07:00
cliffhall
677f40a38f In roots.ts, clientCapabilites.roots and response.roots are optional.
Fixes #2818
2026-01-10 17:40:58 -05:00
cliffhall
7300631a5c In roots.ts, clientCapabilites.roots and response.roots are optional.
Fixes #2818
2026-01-10 17:32:20 -05:00
olaservo
9d863fb7e6 feat: add async sampling and elicitation tools
Add tools that demonstrate bidirectional MCP tasks where the server
sends requests to the client for async execution:

- trigger-sampling-request-async: Send sampling request with task
  params, client creates task and executes LLM call in background,
  server polls for completion and retrieves result

- trigger-elicitation-request-async: Same pattern for user input,
  useful when user may take time to fill out forms

Both tools:
- Check client capabilities (tasks.requests.sampling/elicitation)
- Accept both CreateTaskResult and direct result responses
- Poll tasks/get for status updates
- Fetch final result via tasks/result

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 09:14:30 -07:00
olaservo
0208e93f85 feat(everything): add SEP-1686 Tasks support
- Add tasks capability with list, cancel, and requests.tools.call
- Add InMemoryTaskStore and InMemoryTaskMessageQueue from SDK experimental
- Add simulate-research-query tool demonstrating task lifecycle
- Task demonstrates working -> input_required -> completed status flow
- Uses elicitation for ambiguous queries when client supports it

Closes #3037

🦉 Generated with [Claude Code](https://claude.ai/code)
2026-01-09 06:48:53 -07:00
Ola Hungerford
9691b958ec Merge pull request #3189 from modelcontextprotocol/dependabot/npm_and_yarn/npm_and_yarn-1719578bf6
Bump @modelcontextprotocol/sdk from 1.24.0 to 1.25.2 in the npm_and_yarn group across 1 directory
2026-01-07 11:18:17 -07:00
dependabot[bot]
737ce98e4a Bump @modelcontextprotocol/sdk
Bumps the npm_and_yarn group with 1 update in the / directory: [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk).


Updates `@modelcontextprotocol/sdk` from 1.24.0 to 1.25.2
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases)
- [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/1.24.0...v1.25.2)

---
updated-dependencies:
- dependency-name: "@modelcontextprotocol/sdk"
  dependency-version: 1.25.2
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-07 16:49:05 +00:00
Adam Jones
37b2926d2f Fix YAML syntax error in readme-pr-check workflow
The template literal body had no indentation, which broke YAML's
block literal parsing. Use array.join('\n') instead.
2026-01-06 14:38:04 +00:00
Ola Hungerford
425869346f Merge pull request #3184 from modelcontextprotocol/adamj/readme-pr-check
Add workflow to handle README-only PRs
2026-01-05 21:33:32 -07:00
Adam Jones
dca1e7ed6f Add workflow to handle README-only PRs
Adds a GitHub Actions workflow that:
- Detects PRs that only modify README.md
- Comments explaining we no longer accept new server additions
- Directs contributors to the MCP registry instead
- Allows updates/removals via /i-promise-this-is-not-a-new-server
- Uses labels (readme: pending / readme: ready for review) for filtering
- Minimizes bot comment after confirmation to reduce clutter

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%)
Claude-Steers: 10
Claude-Permission-Prompts: 0
Claude-Escapes: 0
2026-01-05 18:53:30 +00:00
tomonacci
1ae217d74d Remove only trailing slashes (#3183) 2026-01-05 18:42:10 +00:00
Ola Hungerford
862e717ff7 Merge pull request #3164 from 0dd/fix-git-add-validation
Add Path validation
2026-01-04 13:18:50 -07:00
Aonan Guan
3827fd00b3 Merge remote-tracking branch 'origin/fix-git-add-validation' into fix-git-add-validation
# Conflicts:
#	src/git/src/mcp_server_git/server.py
2025-12-29 16:05:35 -08:00
Aonan Guan
db96050800 git: improve file path validation in add operation
Use Git CLI directly instead of GitPython index API to ensure proper
path validation and prevent option injection. The '--' separator ensures
file paths starting with '-' are handled correctly.
2025-12-29 16:04:31 -08:00
Aonan Guan
3269185eb7 git: improve file path validation in add operation
Add validation to ensure file paths are within repository boundaries
before staging. This prevents potential issues with relative paths
and improves overall robustness of the git_add function.
2025-12-29 15:33:42 -08:00
Cliff Hall
dcb47d2d94 Merge pull request #3121 from cliffhall/new-everything-server
New everything server
2025-12-19 12:39:55 -05:00
cliffhall
44faf3a200 Remove console log statements 2025-12-19 10:18:55 -05:00
Cliff Hall
53cc385d4e Update src/everything/AGENTS.md
Co-authored-by: adam jones <domdomegg+git@gmail.com>
2025-12-18 15:03:44 -05:00
Cliff Hall
5fb7a71083 Merge branch 'main' into new-everything-server 2025-12-18 11:46:12 -05:00
Paul Carleton
c7d60d635a fix: use --frozen instead of --locked in release workflow (#3140)
* fix: regenerate uv.lock after version bump in release script

When the release script bumps the version in pyproject.toml, it needs
to also regenerate the uv.lock file. Otherwise the lockfile becomes
out of sync and `uv sync --locked` fails in CI with:
"The lockfile at uv.lock needs to be updated"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: use --frozen instead of --locked in release workflow

The release script bumps the version in pyproject.toml, which causes
the lockfile to be out of sync (uv includes the package's own version
in the lockfile). Using --frozen skips the lockfile freshness check
while still using pinned dependency versions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-18 16:25:49 +00:00
Paul Carleton
bd858d6745 fix: add contents write permission to update-packages job (#3138)
The update-packages job needs to push tags to the repository but was
missing the required `permissions: contents: write`. This caused the
workflow to fail with a 403 error when trying to push the version tag.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-18 14:17:16 +00:00
Felix Weinberger
4750df40c7 Merge pull request #3139 from modelcontextprotocol/fix-git-server-pyright-errors
fix(git): import BadName directly to fix pyright errors
2025-12-18 15:03:02 +01:00
Paul Carleton
88320daffa fix(git): import BadName directly to fix pyright errors
Import `BadName` from `git.exc` directly instead of accessing it via
`git.exc.BadName`, which pyright doesn't recognize as a valid attribute
access on the `git` module.

This fixes the pyright CI failures introduced by the recent security
patches (GHSA merges).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-18 13:22:52 +00:00
cliffhall
17aaa455bb Sync roots at startup. This was deferred to list_roots tool is used, but I'm putting it back.
* In server/roots.ts
  - Updated function doc
2025-12-17 17:49:35 -05:00
cliffhall
f8933ec3e6 Sync roots at startup. This was deferred to list_roots tool is used, but I'm putting it back.
The syncRoots call should be idempotent, requesting roots if they haven't been yet for the session, but always retuning the cached roots otherwise. That could be deferred but setting the handler for roots_list changed note should not.

* In server/roots.ts
  - only set the notification handler and call for initial roots list if the roots aren't already cached for this client.

* In server/index.ts
  - in the oninitialized handler
    - get the sessionId from the transport
    - set a 350ms timeout to call syncRoots with the server and sessionId
      - this delay cause it to run after the `notifications/initialized` handler finishes, otherwise, the request gets lost.

* All other changes attributable to prettier
2025-12-17 17:46:24 -05:00
Cliff Hall
17a2be2320 Merge branch 'main' into new-everything-server 2025-12-17 16:02:56 -05:00
Jenn Newton
a37158bc15 Merge commit from fork
Validate that repo_path arguments in tool calls are within the
configured --repository path when the --repository flag is set.

The fix:
- Adds validate_repo_path() that resolves paths and checks
  containment using Path.relative_to()
- Resolves symlinks before comparison
- Maintains backward compatibility when --repository is not set

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Paul Carleton <paulc@anthropic.com>
2025-12-17 16:04:30 +00:00
Jenn Newton
9e5d5b8e4b Merge commit from fork
Add validation to reject arguments starting with '-' and verify
arguments resolve to valid git refs via rev_parse before passing
to git CLI commands. This prevents flag-like values from being
interpreted as command-line options (e.g., --output=/path/to/file).

CWE-88: Improper Neutralization of Argument Delimiters in a Command

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-17 16:01:19 +00:00
Koichi ITO
d9c45477cd Merge pull request #3124 from DeanMauro/patch-2
Update Trade Agent entry in README
2025-12-17 10:20:48 +09:00
Neel Patel
1432d05156 Update README.md existing Moorcheh server (#3105)
* Update README.md existing Moorcheh server

* update description
2025-12-16 21:54:47 +00:00
cliffhall
c6daef707a Get roots unconditionally when syncRoots is called
* In server/roots.ts
  - in syncRoots, if roots are supported fetch them

* In get-roots-list.ts,
  - Don't import and inspect current roots map, just call syncRoots to get the list.
2025-12-15 19:37:56 -05:00
cliffhall
1b8f376b90 Demonstrate registration of tools conditioned upon client capability support. Also, obviated need for clientConnected callback to pass sessionId because we defer initial fetching of roots happens when you run the get-roots-list tool.
* In how-it-works.md,
  - added a section on conditional tool registration

* In server/index.ts
  - import registerConditionalTools
  - in an oninitialized handler for the server, call registerConditionalTools
  - removed clientConnected from ServerFactoryResponse and all mentions in docs

* In tools/index.ts
  - export a registerConditionalTools function
  - refactor/move calls to registerGetRootsListTool, registerTriggerElicitationRequestTool, and registerTriggerSamplingRequestTool out of registerTools and into registerConditionalTools

* In server/roots.ts
  - only act if client supports roots
  - remove setInterval from call to requestRoots. It isn't happening during the initialze handshake anymore, so it doesn't interfere with that process if called immediaately

* In get-roots-list.ts, trigger-elicitation-request.ts, and trigger-sampling-request.ts,
  - only register tool if client supports capability

* Throughout the rest of the files, removing all references to `clientConnected`
2025-12-15 17:51:30 -05:00
cliffhall
ebac6314cf Updated server instructions.md. See https://github.com/modelcontextprotocol/servers/pull/3121#discussion_r2616651611 2025-12-15 17:04:59 -05:00
cliffhall
8758a11b37 Updated server instructions.md. See https://github.com/modelcontextprotocol/servers/pull/3121#discussion_r2616651611 2025-12-15 17:04:35 -05:00
cliffhall
734d5c3ebb Updated server instructions.md. See https://github.com/modelcontextprotocol/servers/pull/3121#discussion_r2616651611 2025-12-15 17:01:33 -05:00
cliffhall
70feb6f2b0 Remove includeContext: "thisServer" from CreateMessageRequest in trigger-sampling-request.ts 2025-12-15 14:40:11 -05:00
cliffhall
e0f1c42159 Add listChanged capability for tools, prompts, and resources in servers/index.ts 2025-12-15 14:39:20 -05:00
Dean Mauro
9a437181d9 Update Trade Agent to Trade It in README
Trade Agent has rebranded to Trade It. I've updated the entry to match.
2025-12-14 22:31:17 -05:00
cliffhall
cdbcdc551a Cache roots in get-roots-list.ts if list was not already present and had to be requested. 2025-12-13 16:25:28 -05:00
cliffhall
20527e4175 Updated doc in all tools 2025-12-13 15:55:07 -05:00
cliffhall
7b8592538f Updated doc in all tools 2025-12-13 15:52:32 -05:00
cliffhall
eed70bbbda Updated doc in trigger-sampling-request.ts 2025-12-13 15:48:41 -05:00
cliffhall
0ba86f8d4f Updated doc in echo.ts 2025-12-13 15:48:13 -05:00
cliffhall
29a20bfd0a Updated doc in get-annotated-message.ts 2025-12-13 15:46:57 -05:00
cliffhall
82cda366d6 Updated doc in get-env.ts 2025-12-13 15:45:24 -05:00
cliffhall
6ad8af7130 Updated doc in get-resource-reference.ts 2025-12-13 15:44:17 -05:00