Apply suggestions from code review
Co-authored-by: Cliff Hall <cliff@futurescale.com>
This commit is contained in:
parent
c20c017171
commit
a160653441
3 changed files with 9 additions and 13 deletions
|
|
@ -96,7 +96,7 @@ MCP Tasks are bidirectional - both server and client can be task executors:
|
||||||
| Server -> Client | `elicitation/create` | Client | `trigger-elicitation-request-async` |
|
| Server -> Client | `elicitation/create` | Client | `trigger-elicitation-request-async` |
|
||||||
|
|
||||||
For client-side tasks:
|
For client-side tasks:
|
||||||
1. Server sends request with task metadata (e.g., `_meta.task.ttl`)
|
1. Server sends request with task metadata (e.g., `params.task.ttl`)
|
||||||
2. Client creates task and returns `CreateTaskResult` with `taskId`
|
2. Client creates task and returns `CreateTaskResult` with `taskId`
|
||||||
3. Server polls `tasks/get` for status updates
|
3. Server polls `tasks/get` for status updates
|
||||||
4. When complete, server calls `tasks/result` to retrieve the result
|
4. When complete, server calls `tasks/result` to retrieve the result
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,10 @@ export const registerTriggerElicitationRequestAsyncTool = (server: McpServer) =>
|
||||||
const request = {
|
const request = {
|
||||||
method: "elicitation/create" as const,
|
method: "elicitation/create" as const,
|
||||||
params: {
|
params: {
|
||||||
|
task: {
|
||||||
|
ttl: 600000, // 10 minutes (user input may take a while)
|
||||||
|
pollInterval: POLL_INTERVAL,
|
||||||
|
},
|
||||||
message: "Please provide inputs for the following fields (async task demo):",
|
message: "Please provide inputs for the following fields (async task demo):",
|
||||||
requestedSchema: {
|
requestedSchema: {
|
||||||
type: "object" as const,
|
type: "object" as const,
|
||||||
|
|
@ -76,12 +80,6 @@ export const registerTriggerElicitationRequestAsyncTool = (server: McpServer) =>
|
||||||
},
|
},
|
||||||
required: ["name"],
|
required: ["name"],
|
||||||
},
|
},
|
||||||
_meta: {
|
|
||||||
task: {
|
|
||||||
ttl: 600000, // 10 minutes (user input may take a while)
|
|
||||||
pollInterval: POLL_INTERVAL,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,10 @@ export const registerTriggerSamplingRequestAsyncTool = (server: McpServer) => {
|
||||||
const request: CreateMessageRequest & { params: { _meta?: { task: { ttl: number; pollInterval: number } } } } = {
|
const request: CreateMessageRequest & { params: { _meta?: { task: { ttl: number; pollInterval: number } } } } = {
|
||||||
method: "sampling/createMessage",
|
method: "sampling/createMessage",
|
||||||
params: {
|
params: {
|
||||||
|
task: {
|
||||||
|
ttl: 300000, // 5 minutes
|
||||||
|
pollInterval: POLL_INTERVAL,
|
||||||
|
},
|
||||||
messages: [
|
messages: [
|
||||||
{
|
{
|
||||||
role: "user",
|
role: "user",
|
||||||
|
|
@ -79,12 +83,6 @@ export const registerTriggerSamplingRequestAsyncTool = (server: McpServer) => {
|
||||||
systemPrompt: "You are a helpful test server.",
|
systemPrompt: "You are a helpful test server.",
|
||||||
maxTokens,
|
maxTokens,
|
||||||
temperature: 0.7,
|
temperature: 0.7,
|
||||||
_meta: {
|
|
||||||
task: {
|
|
||||||
ttl: 300000, // 5 minutes
|
|
||||||
pollInterval: POLL_INTERVAL,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue