Commit graph typescript-sdk/src/types.ts
Author SHA1 Message Date
Konstantin Konstantinov
606c278668
clean up tests - remove mockRequestInfo 2025-06-25 16:24:30 +03:00
ihrpr
e7a5e331f1
rename decline to reject 2025-06-18 20:11:18 +01:00
ihrpr
66465abdd9
change version 2025-06-17 17:29:41 +01:00
ihrpr
4f708a777f
update latest protocol version 2025-06-17 11:38:00 +01:00
bhosmer-ant
2e119aaca2
Merge pull request #639 from modelcontextprotocol/basil/_meta_language
update _meta usage guidance in `types.ts`
2025-06-16 15:00:17 -04:00
Basil Hosmer
784d944377
update _meta comments 2025-06-16 14:52:33 -04:00
ihrpr
54c30109fb
Merge branch 'main' into ihrpr/elicitation 2025-06-16 19:11:57 +01:00
Felix Weinberger
3df732545f
Add missing _meta fields to match spec requirements
Added optional _meta field to ResourceContentsSchema, PromptSchema, and EmbeddedResourceSchema to align with spec change PR #710. These were the only schemas missing the _meta field that were required by the specification update.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 16:18:13 +01:00
ihrpr
c90d6c9853
add context with arguments to completable 2025-06-16 14:11:10 +01:00
ihrpr
cacc3bc09e
Merge branch 'main' into ihrpr/resource-link 2025-06-16 11:56:19 +01:00
ihrpr
d1c94a2c69
refactor 2025-06-16 10:43:31 +01:00
ihrpr
7e59081b43
add resource link 2025-06-15 22:19:53 +01:00
ihrpr
4d03b243e3
add title 2025-06-15 20:42:25 +01:00
ihrpr
e7284d29c8
added _meta to more objects 2025-06-15 18:47:44 +01:00
ihrpr
9bf5c62979
Merge pull request #619 from modelcontextprotocol/ihrpr/602
Rename ResourceReference to ResourceTemplateReference
2025-06-15 17:30:24 +01:00
Olivier Chafik
bb0592bd50
add supported versions to error message 2025-06-12 18:42:51 +01:00
ihrpr
255d30cbf2
Rename ResourceReference to ResourceTemplateReference 2025-06-12 15:10:12 +01:00
ihrpr
04cbbfbb0d
elicitation example 2025-05-21 16:59:37 -04:00
Basil Hosmer
7636c63f39
update to track spec changes 2025-05-21 12:42:20 -04:00
ihrpr
265ad071f7
make content required 2025-05-21 12:19:31 -04:00
Basil Hosmer
d37de9b110
Add support for message field in progress notifications
Implements the new optional message field for progress notifications as
defined in the MCP specification update. This allows servers to provide
descriptive status updates alongside progress values.

Changes:
- Add optional message field to ProgressSchema in types.ts
- Add tests for progress notifications with message field
- Update protocol tests to verify message field handling

Refs: https://github.com/modelcontextprotocol/modelcontextprotocol/pull/197

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-16 15:18:28 -04:00
Basil Hosmer
eb0407ea40
split comment for readability 2025-05-15 10:03:50 -04:00
Basil Hosmer
6079cd8307
- add new tool() api and tests
- fix schema validation
- comment headers on tests
2025-05-15 10:03:02 -04:00
Basil Hosmer
9686fc2ead
formatting, more version rollbacks 2025-05-15 10:02:03 -04:00
Basil Hosmer
882e0b7d05
feat: update TypeScript SDK to implement draft spec changes for structured tool output
- Add outputSchema support to Tool interface with proper documentation
- Split CallToolResult into structured and unstructured variants
- Change structuredContent from string to object type
- Add validation that tools without outputSchema cannot return structuredContent
- Add validation that tools with outputSchema must return structuredContent
- Update client to validate structured content as object (no JSON parsing)
- Update tests to use object format for structuredContent
- Add tests for new validation constraints
- Update LATEST_PROTOCOL_VERSION to DRAFT-2025-v2

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-15 10:02:02 -04:00
Basil Hosmer
a85fee407a
Add support for outputSchema and optional content fields in tools
- Add outputSchema field to Tool type and RegisteredTool interface
- Make content field optional in CallToolResult
- Update ListToolsRequestSchema handler to include outputSchema in tool list responses
- Add support for structuredContent in tool results
- Update examples to handle optional content field
- Add tests for new outputSchema and structuredContent functionality
- Update ToolCallback documentation to clarify when to use structuredContent vs content

This change enables tools to define structured output schemas and return
structured JSON content, providing better type safety and validation for
tool outputs.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-15 09:58:40 -04:00
Cliff Hall
f2f030e479
Merge branch 'main' into update-protocol-version 2025-04-28 17:59:36 -04:00
cliffhall
3a9a6c944b Update protocol version
* This fixes #378
* In types.ts
  - set LATEST_PROTOCOL_VERSION to "2025-03-26"
  - add "2025-03-26" to SUPPORTED_PROTOCOL_VERSIONS
* In auth.test.ts
  - in test "returns metadata when discovery succeeds"
    - expect "MCP-Protocol-Version" to be "2025-03-26"
2025-04-25 09:16:28 -04:00
Marcel Samyn
75eb1c431a Pass request _meta to request handlers extra param 2025-04-25 14:42:59 +02:00
Basil Hosmer
0096be432f
Add ToolAnnotations support to McpServer.tool() method 2025-04-22 15:24:32 -04:00
ihrpr
31f44e0b68
add isInitializeRequest and isInitializedNotification utility 2025-04-16 10:19:46 +01:00
Frédéric Barthelet
4e749dba4d Add isJSONRPCError method 2025-04-10 00:06:07 +02:00
Frédéric Barthelet
8215651552 Add helper functions to distinguish between jsonRPC message types 2025-04-09 23:45:25 +02:00
Shinya Fujino
1c1178143c feat: add completions capability in ServerCapabilitiesSchema 2025-04-06 22:46:02 +09:00
Nathan Arseneau
9f5b4bf00d Add audio content 2025-04-01 19:01:22 -04:00
Justin Spahr-Summers
f6e47c4751
Add missing name to McpError 2025-02-18 14:15:22 +00:00
Kalvin Chau
443c0829ed feat: add mcp client instruction support 2025-01-22 09:17:59 -08:00
Justin Spahr-Summers
0c5d6c4f18
Missed one 2025-01-06 21:37:30 +00:00
Justin Spahr-Summers
b5711be1ad
Can just reuse z.infer instead of using ReturnType 2025-01-03 14:01:17 +00:00
Justin Spahr-Summers
73ea68cf13
Disable ESLint warning 2025-01-03 13:49:07 +00:00
Justin Spahr-Summers
9b5efc4286
Recursively flatten types for better inference 2025-01-03 13:47:19 +00:00
Sumitesh Naithani
21e3d465ca chore: updated documentation comment in ErrorCode enum and set protocol test timeout to 0 2025-01-03 06:59:01 +05:30
Sumitesh Naithani
d77cd0deb3 style: fixed linting issues 2024-12-22 23:20:35 +05:30
Sumitesh Naithani
e7d08c738e fix(protocol): restrict SDK error codes to JSON-RPC server error range
The SDK's custom error codes were previously using arbitrary negative numbers
(-1, -2) which could conflict with application-specific error codes. This change:

- Updates ConnectionClosed from -1 to -32000
- Updates RequestTimeout from -2 to -32001
- Keeps standard JSON-RPC error codes unchanged
- Adds documentation explaining the server error range usage

This modification ensures compliance with the JSON-RPC 2.0 specification, which
reserves -32000 to -32099 for implementation-defined server errors. This change
allows applications to freely use other error code ranges without potential
conflicts with SDK-generated errors.

Issue: #85
2024-12-22 23:12:22 +05:30
Justin Spahr-Summers
1962943b22
Revert "Remove CompatibilityCallToolResult" 2024-12-04 17:09:31 +00:00
Justin Spahr-Summers
e911ece970
Remove CompatibilityCallToolResult
Resolves #82.
2024-12-03 16:03:26 +00:00
Justin Spahr-Summers
2cc3bc8a40
Add RequestOptions.timeout 2024-11-16 16:30:20 +00:00
Justin Spahr-Summers
15bd2dc7aa
Fix cancelled notification method name 2024-11-14 14:07:16 +00:00
Justin Spahr-Summers
347e8905a9
Add types for cancellation notifications 2024-11-14 13:39:43 +00:00
Justin Spahr-Summers
d0c83e946c
Fix notification params schemas not permitting _meta 2024-11-14 13:26:24 +00:00