Commit Graph

120 Commits

Author SHA1 Message Date
Nick Pape
76dcff0617 Fix a lifecycle bug with server everything in stdio mode (#2848) 2025-11-25 21:50:31 +00: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
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
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
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
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
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
Kumbham Ajay Goud
cf9f66c14e feat: add MCP roots protocol support to everything server
- Add roots capability declaration with listChanged: true
- Implement roots/list_changed notification handler
- Add initialization handler to request initial roots from client
- Add new listRoots tool to demonstrate roots functionality
- Add comprehensive logging for roots protocol events
- Update README.md with roots documentation

Resolves #2552

The everything server now demonstrates all MCP features including the roots protocol.
This provides a complete reference implementation for client developers to test
their roots protocol implementation against, even though this server doesn't
access files directly.
2025-08-18 15:31:23 +05:30
claude[bot]
9da43bc355 Fix SSE server crash by starting notification timers only after client connects
- Move setInterval calls from server creation to startNotificationIntervals function
- Only start notification timers when a client actually connects to the SSE server
- Prevents 'Not connected' error when server tries to send notifications before client connection
- Fixes issue where server crashes after 5 seconds when running 'npx @modelcontextprotocol/server-everything sse'

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

Co-authored-by: Ola Hungerford <olaservo@users.noreply.github.com>
2025-08-17 17:20:36 +00:00
Ola Hungerford
1028b32573 Merge pull request #2328 from kunalbabre/main
docs: Update VS Code installation instructions to use mcp.json for issue  #2320
2025-08-07 07:28:32 -07:00
evalstate
4c192aee93 Remove out-of-specification notifications/stderr sending 2025-08-02 08:46:33 +01:00
Richard Michael
84a872145c feature: Add a tool with Structured Content and an Output Schema
Tools gained Structured Content in Specification 2025-16-18
https://modelcontextprotocol.io/specification/2025-06-18/server/tools#structured-content

The MCP Inspector is able to handle these outputs.
2025-07-23 11:43:36 -07:00
Richard Michael
9e28ac7fd1 chore: Add serverInfo title, as in specification 2025-06-18 2025-07-23 11:43:33 -07:00
Richard Michael
bb1b418da1 chore: Code organization: consistent tool order everywhere 2025-07-23 11:43:30 -07:00
Richard Michael
7ec0064157 chore: Code organization: completions follow all schema definitions 2025-07-23 11:43:27 -07:00
Richard Michael
114ad51b54 chore: Format for readability 2025-07-23 11:43:24 -07:00
Richard Michael
0d1653fff3 chore: Adjust to format easier to read and maintain 2025-07-23 11:43:20 -07:00
Kunal Babre
55a36ad0dd docs: Clean up VS Code installation instructions
- Remove unnecessary explanatory note about JSON format
- JSON examples already demonstrate the correct format clearly
- Streamlines documentation to focus on essential information
- Maintains reference to official VS Code MCP documentation

The removed note was redundant since both configuration methods 
use identical JSON structure shown in the examples.
2025-07-11 22:53:13 -07:00
Kunal Babre
95a72b792f docs: Add reference to official VS Code MCP documentation
- Add link to official VS Code MCP documentation in all server READMEs
- Enhances existing VS Code installation instructions with authoritative reference
- Provides users with comprehensive documentation for advanced configuration
- Complements the existing two-method approach with additional resources

Affects: everything, filesystem, git, memory, sequentialthinking
2025-07-11 22:45:10 -07:00
Kunal Babre
20eb59590e docs: Update VS Code installation instructions to use mcp.json
- Replace outdated 'Preferences: Open Settings (JSON)' instructions
- Add proper guidance for 'MCP: Open User Configuration' command
- Update JSON examples to remove mcp wrapper key
- Clarify user vs workspace configuration methods
- Fixes issue with outdated documentation across all servers

Affects: sequentialthinking, filesystem, memory, everything, git
2025-07-11 21:36:21 -07:00
Den Delimarsky
a83c56256e Fix content return 2025-07-06 21:18:43 -07:00
Den Delimarsky
7bc02607c5 Merge remote-tracking branch 'origin/elicitation-support' into elicitation-support 2025-07-05 11:47:10 -07:00
Den Delimarsky
d63329ded2 Updated based on PR feedback 2025-07-05 11:44:05 -07:00
Den Delimarsky ⚡
5ab3a00f5c Merge branch 'main' into elicitation-support 2025-07-04 10:58:24 -07:00
Ashwin Bhat
8dde417d10 formatting 2025-07-04 10:45:53 -07:00
Ashwin Bhat
0af52a9c22 remove summary 2025-07-04 10:39:07 -07:00
Ashwin Bhat
291ef21460 clarify message 2025-07-04 09:52:49 -07:00
Ashwin Bhat
6a7ef8f955 Add getResourceLinks tool to return multiple resource references
- Implement new tool that returns configurable number of resource links (1-10)
- Each link includes URI, name, description, and MIME type from available resources
- Minor formatting fixes for trailing commas and whitespace

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-03 22:50:51 -07:00
Den Delimarsky
11195cf3ff Update schema 2025-07-03 22:14:44 -07:00
Den Delimarsky
2de214f36a Some consistency changes 2025-07-03 21:03:10 -07:00
Den Delimarsky
dacaf27d5a Update README 2025-07-03 11:40:05 -07:00
Den Delimarsky ⚡
ebdfa7d84f Update src/everything/everything.ts
Co-authored-by: Ola Hungerford <olahungerford@gmail.com>
2025-06-30 14:27:57 -07:00
Den Delimarsky
0670875117 Remove comments 2025-06-25 21:08:24 -07:00