Commit Graph

700 Commits

Author SHA1 Message Date
jnick26
6dda92b77b fix(sequential-thinking): Keep case of json params and description same
Models are confused about the case of the variables, which results into random validation errors. Keeping them the same helps to remove back and forth.
2025-11-15 12:58:40 +02:00
UmakanthKaspa
5556c3a0f4 Fix git_create_branch parameter documentation
Changed incorrect 'start_point' to correct 'base_branch' parameter.
The documented parameter didn't match the actual code implementation.
2025-11-09 17:16:53 +09:00
UmakanthKaspa
2c8bb9d8f7 Merge branch 'main' into add-git-status-test 2025-11-08 20:34:26 +05:30
UmakanthKaspa
4225ab46e1 Add test for git_status function
Adds test coverage for the previously untested git_status function.
  The test verifies that the function returns valid git status output
  containing branch information.
2025-11-06 16:58:07 +00:00
Sanghee Son
bd39b09e4c fix: exclude test files from filesystem build
test files were being compiled into dist during build,
causing issues in docker environments. added exclude
pattern to tsconfig to skip __tests__ directory.

fixes #2928
2025-10-31 16:33:22 +09:00
olaservo
c3b26fad30 Fix platform-dependent relative path test in filesystem
The test was expecting forward slashes to always be converted to backslashes, but normalizePath() only does this on Windows (process.platform === 'win32'). On Linux/Unix, forward slashes are preserved.

Improved the fix by:
1. Removing relative path assertion from the "as is" test since it doesn't match intent
2. Adding a dedicated test that validates platform-specific behavior naturally without mocking
3. Using the actual platform instead of unreliable Object.defineProperty mocking

This approach is more reliable and clearly documents expected behavior per platform.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 21:27:13 -07:00
olaservo
bbbc0c6381 Fix TypeScript error in filesystem tests by adding missing afterEach import
The afterEach function was used in the test file but not imported from vitest, causing a build failure. This was introduced in PR #2851.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 21:06:25 -07:00
olaservo
f6fff0374e Merge branch 'main' of https://github.com/modelcontextprotocol/servers into update-tests-and-markdown-files 2025-10-28 21:05:20 -07:00
olaservo
e68a555943 Add Vitest testing framework and implement tests for memory management features 2025-10-28 20:06:34 -07:00
Ola Hungerford
d2eb945c4d Merge pull request #2851 from olaservo/fix-wsl-path-conversion
Resolve filesystem issue where WSL paths are incorrectly converted to Windows format
2025-10-28 18:56:58 -07:00
Ola Hungerford
7fc3d2debd Merge pull request #2565 from modelcontextprotocol/claude/issue-65-20250817-1645
docs(fetch): Add Windows PYTHONIOENCODING configuration
2025-10-28 18:53:24 -07:00
Cliff Hall
07eaef78ed Merge branch 'main' into update-test-framework-to-vitest 2025-10-21 17:31:33 -04:00
Ola Hungerford
ed4b36b6d5 Merge branch 'main' into fix-wsl-path-conversion 2025-10-19 11:45:07 -07:00
olaservo
b666e7f246 Migrate sequentialthinking and filesystem servers from Jest to Vitest
- Replace Jest dependencies with Vitest and @vitest/coverage-v8
- Update test scripts to use 'vitest run --coverage'
- Create vitest.config.ts for both servers with node environment and coverage settings
- Update all test files:
  - Change imports from '@jest/globals' to 'vitest'
  - Replace jest.mock() with vi.mock()
  - Replace jest.fn() with vi.fn()
  - Update mock clearing/restoring to use vi methods
- Remove jest.config.cjs files
- All 151 tests passing (24 in sequentialthinking, 127 in filesystem)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 11:21:58 -07:00
Ola Hungerford
78af9ddffb Merge branch 'main' into claude/issue-2361-20250817-1626 2025-10-19 07:45:22 -07:00
Ola Hungerford
a317804199 Merge pull request #2850 from olaservo/add-sequentialthinking-tests-update-sdk
Add Sequential Thinking tests and update TypeScript SDK versions
2025-10-19 07:30:55 -07:00
Olivier Chafik
61fe1104ee Port PR #17 elicitation improvements to everything server
This commit ports the comprehensive elicitation field type demonstration
from modelcontextprotocol/example-remote-server PR #17 to the everything
server, while maintaining the better UX of the existing implementation.

Changes:
- Expanded elicitation schema to demonstrate 9 field types:
  * string (plain and with default values)
  * boolean
  * email (format: "email")
  * uri (format: "uri")
  * date (format: "date")
  * integer (with min/max and default)
  * number (with min/max and default)
  * enum with enumNames for human-readable labels
- Added required fields support (name field is required)
- Added 10-minute timeout to elicitation request
- Improved response handling to dynamically show all provided fields
- Updated tool description to reflect comprehensive field type support
- Removed unused requestElicitation helper function (inlined implementation)
- Removed unused ElicitRequest import

The implementation follows PR #17's approach of directly using
extra.sendRequest() while preserving the user-friendly response handling
with emojis and formatted output from the original implementation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-16 19:13:33 +01:00
olaservo
c9b0135aa5 fix: preserve WSL paths and improve path normalization logic 2025-10-12 19:59:22 -07:00
olaservo
636b0872cb chore: add cors dependency to package.json 2025-10-12 18:22:08 -07:00
olaservo
f6fbfc4c5e Merge remote-tracking branch 'upstream/main' into add-sequentialthinking-tests-update-sdk 2025-10-12 18:09:41 -07:00
cliffhall
23b8279aaa Do not initiate sampling on resource subscription.
* In everything.ts
  - remove the automatic sampling call in the resource handler for SubscribeRequestSchema
2025-10-10 16:05:26 -04:00
Olivier Chafik
d6e218d0f8 Update everything.ts 2025-10-08 17:53:52 +01:00
Olivier Chafik
232258426e add zip tool to everything server (demonstrates consuming and producing URIs, incl. data URIs) 2025-10-08 17:44:24 +01:00
olaservo
0b5f7e17ec Merge branch 'main' of https://github.com/olaservo/servers 2025-10-07 23:06:25 -07:00
olaservo
072e53322b Add tests for sequential thinking and update typescript sdk versions 2025-10-07 23:01:42 -07:00
evalstate
a753cd6f3a fix sampling and elicitation calls for streamable http 2025-09-28 17:40:11 +01:00
Cliff Hall
c519dbbc02 Merge branch 'main' into security/git-server-optimization 2025-09-24 10:02:28 -04:00
Aonan Guan
6382f7846d docs: update README to reflect removed initialization functionality 2025-09-23 21:31:26 -07:00
Aonan Guan
eac56e7bcd refactor: remove redundant initialization functionality 2025-09-23 20:59:54 -07:00
adam jones
28427d8cd1 Fix time server to default to UTC when tzinfo is unavailable (#2738)
When get_localzone_name() returns None, the server now defaults to UTC
instead of raising an error. This makes the server more robust in
environments where the local timezone cannot be determined.
2025-09-22 21:09:58 -07:00
Cliff Hall
f8c05004d0 Open CORS for any origin to allow direct browser connection (#2725)
* * In src/everything/sse.ts
  - import cors
  - use cors with config allowing any origin + GET/POST
* In src/everything/streamableHttp.ts
  - import cors
    - use cors with config allowing any origin + GET/POST/DELETE, and exposed protocol headers for client to read
* In package.json and package-lock.json
  - add cors as a dependency

* * In package.json and package-lock.json
  - add @types/cors as dev dependency

* Add caution note for CORS origin wildcard usage

Added caution note for using '*' in CORS origin.

* * In streamableHttp.ts
  - remove remove unintentional console log

* * In streamableHttp.ts
  - add comment about why opening cors for all routes

* * In sse.ts
  - add comment about using * with caution in production for cors

* * In sse.ts
  - indent on cors config

---------

Co-authored-by: shaun smith <1936278+evalstate@users.noreply.github.com>
2025-09-19 01:28:41 +01:00
Aonan Guan
52ab84cd63 Improve memory server schema validation (#2726)
- Add explicit property filtering in saveGraph method
- Add additionalProperties constraints to input schemas
2025-09-18 15:11:12 +01:00
多吃点
097fdab463 docs: Fix duplicate directory_tree tool entry in API documentation 2025-09-13 13:00:02 +08:00
Cliff Hall
c3093739ca Let Everything's STDIO server use SDK's automatic log level handling (#2706)
- bump TS SDK to 1.18.0
* In src/everything/stdio.ts
  - remove logging related imports
  - remove custom log-level handling, now handled automatically by the SDK
* In src/everything/everything.ts
  - remove console.log of sessionId
2025-09-11 17:31:49 -07:00
evalstate
4c91d59d16 direct long running tool progress notifications to correct stream 2025-09-03 11:03:06 +02:00
Ola Hungerford
e322daf123 Merge pull request #2669 from cliffhall/auto-log-level-support-in-everything-server
Everything server - fix regression + auto log level handling support
2025-09-02 22:05:12 -07:00
cliffhall
97c6408f04 * in .gitignore
- add .idea/ for Jetbrains IDEs
* in everything.ts
  - remove import of SetLevelRequestSchema
  - remove logLevel var
  - add sessionId var
  - in startNotificationIntervals function
    - add optional sid argument
    - set sessionId to sid
    - define messages to be sent, adding sessionId if present
  - remove setRequestHandler call for SetLevelRequestSchema
  - replace server.notification calls that sent "notifications/message" objects with calls to server.sendLoggingMessage, passing just the parameters and sessionId.
* In package.json & package-lock.json
  - bump TS SDK version to 1.17.5
* In sse.ts, pass transport.sessionId to startNotificationIntervals call
* In stdio.ts
  - destructure startNotificationIntervals from createServer call
  - implement custom logging request handler and server.sendLoggingMessage implementation, as a
  workaround for the fact that the SDK's automatic log level handling currently only tracks requested log level by session id. This will be fixed in a followup PR for the SDK
  - call the startNotificationIntervals function after connecting the transport to the server
* In streamableHttp.ts
  - destructure startNotificationIntervals from createServer call
  - call startNotificationIntervals passing the transport.sessionId after connecting the transport to the server
2025-09-02 17:18:11 -04:00
Ola Hungerford
38de94b7ad fix: update temperature argument type from number to string in everything server docs (#2610)
Fixes issue #474 - documentation mismatch where temperature was documented as (number) but TypeScript SDK only accepts string arguments via z.record(z.string())

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Ola Hungerford <olaservo@users.noreply.github.com>
2025-08-29 12:16:50 +01:00
Cliff Hall
28dc8ca4d2 Merge branch 'main' into claude/issue-2361-20250817-1626 2025-08-28 17:23:24 -04:00
cliffhall
a32f15750d Suppress startElicitation tool if client does not advertise support for elicitation capability
* In everything.ts
  - remove inappropriate elicitation entry from server capabilities (this is a client capability)
  - When creating tool list, only add `ToolName.ELICITATION` definition to tools array if `clientCapabilities` includes `elicitation`

* In package.json / package-lock.json
  - bump @modelcontextprotocol/sdk to "^1.17.4", adding `elicitation` to `ClientCapabilities` type
2025-08-28 14:13:47 -04:00
AjayKumbham
c45c0e26a0 fix: add missing ClientCapabilities import 2025-08-28 22:25:46 +05:30
Kumbham Ajay Goud
d321841519 Update src/everything/everything.ts
Co-authored-by: Cliff Hall <cliff@futurescale.com>
2025-08-28 22:17:07 +05:30
Kumbham Ajay Goud
2b8ba4ac9f Update src/everything/everything.ts
Co-authored-by: Cliff Hall <cliff@futurescale.com>
2025-08-28 22:16:52 +05:30
Kumbham Ajay Goud
d279ace6b4 Update src/everything/everything.ts
Co-authored-by: Cliff Hall <cliff@futurescale.com>
2025-08-28 22:16:33 +05:30
AjayKumbham
f51757eedb fix: remove roots from server capabilities - it's a client capability 2025-08-28 16:21:48 +05:30
AjayKumbham
96ea8d1eb9 Merge branch 'add-roots-support-to-everything-server' of https://github.com/AjayKumbham/servers into add-roots-support-to-everything-server 2025-08-27 20:25:41 +05:30
AjayKumbham
39c1ca8df0 feat: improve roots messaging to distinguish client support vs configuration
- Add clientSupportsRoots tracking variable
- Set clientSupportsRoots during initialization based on client capabilities
- Update listRoots tool to provide clearer messaging:
  - Specific message when client doesn't support roots protocol
  - Different message when client supports roots but none are configured
- Improves user experience by clearly explaining the different scenarios

Addresses feedback from @olaservo in PR review
2025-08-27 20:24:23 +05:30
Ola Hungerford
f92c913dd4 Merge branch 'main' into claude/issue-2361-20250817-1626 2025-08-27 05:10:16 -07:00
Kumbham Ajay Goud
c51480bb30 Merge branch 'main' into add-roots-support-to-everything-server 2025-08-26 21:53:52 +05:30
Ola Hungerford
e968c6c8fc Merge pull request #2611 from modelcontextprotocol/claude/issue-2598-20250824-0325
Improve parameter descriptions in sequential-thinking for better LLM type safety
2025-08-26 08:04:06 -07:00