Commit Graph

58 Commits

Author SHA1 Message Date
Cliff Hall
d3e1715088 Update src/everything/everything.ts
Co-authored-by: Ola Hungerford <olahungerford@gmail.com>
2025-12-11 17:51:35 -05:00
Cliff Hall
40435bd7b2 Update src/everything/everything.ts
Co-authored-by: Ola Hungerford <olahungerford@gmail.com>
2025-12-11 17:51:15 -05:00
cliffhall
bdb8b451d1 Update Everything server's elicitation request
* In everything.ts
  - In elcitiation request,
    - Update all fields to have a title property
    - Add all 5 enum types supported by the SDK
      - legacy titled single select
      - titled single select
      - titled multi select
      - untitled single select
      - untitled multi select
    - Use faux ids (e.g., hero-1, hero-2) for enum value when titled to illustrate the difference.
2025-12-02 19:43:01 -05:00
adam jones
3154518344 Update @modelcontextprotocol/sdk to 1.23.0 in TypeScript servers (#3065)
Update the SDK from ^1.19.1 to ^1.23.0 in all TypeScript reference servers:
- everything
- filesystem
- memory
- sequentialthinking

Also update everything server for SDK breaking changes:
- Update zod to ^3.25.0 (zod v4 compatibility)
- Fix ToolInput/ToolOutput types to use Tool["inputSchema"] instead of
  inferring from zod schemas
- Fix result.content handling to support array format

Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-11-26 12:32:37 +00: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
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
evalstate
a753cd6f3a fix sampling and elicitation calls for streamable http 2025-09-28 17:40:11 +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
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
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
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
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 ⚡
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
Den Delimarsky
a2a83cc40e Update elicitation demo 2025-06-25 20:54:33 -07:00
Den Delimarsky
642f3ac192 Update 2025-06-23 17:05:35 -07:00
Den Delimarsky
72714ed0f1 Elicitation support 2025-06-23 15:54:45 -07:00
olaservo
318c22b2ac Add instructions 2025-05-26 12:49:33 -07:00
Ola Hungerford
f93737dbb0 Merge pull request #1282 from morinokami/patch-2
fix: Add completions capability to Everything server
2025-04-18 08:19:15 -07:00
cliffhall
b8ecbe79de Adjust intervals for outgoing demo messages
- subscription updates: 10 seconds
- logging messages: 20 seconds
- stderr messages: 30 seconds
2025-04-15 10:52:34 -04:00
cliffhall
41fa29e21b Fix formatting 2025-04-14 17:32:33 -04:00
cliffhall
9655d471f7 Add periodic stderr messages.
In everything.ts
- add a 10 second interval for sending 'notifications/stderr' messages to the client

This was created in order to test the display and clearing of stderr messages in the client.
- see https://github.com/modelcontextprotocol/inspector/pull/286
2025-04-14 17:13:11 -04:00
Shinya Fujino
7baf4c5c36 Merge branch 'main' into patch-2 2025-04-14 00:57:08 +09:00
Shinya Fujino
b8d19f910e fix: Add completions capability to Everything server 2025-04-07 00:13:11 +09:00
Ashwin Bhat
26ae300622 Add resource reference support to MCP server
- Add new tool 'getResourceReference' that returns embedded resources
- Add new prompt 'resource_prompt' demonstrating embedded resources in prompts
- Update documentation with new tool and prompt details
- Create CLAUDE.md with development guidelines

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-04-01 17:47:07 -07:00