MCP TypeScript SDK (V2) / @modelcontextprotocol/server / server/completable
server/completable
Type Aliases
CompletableMeta
CompletableMeta<
T> =object
Defined in: packages/server/src/server/completable.ts:12
Type Parameters
T
T extends StandardSchemaV1 = StandardSchemaV1
Properties
complete
complete:
CompleteCallback<T>
Defined in: packages/server/src/server/completable.ts:13
CompletableSchema
CompletableSchema<
T> =T&object
Defined in: packages/server/src/server/completable.ts:16
Type Declaration
[COMPLETABLE_SYMBOL]
[COMPLETABLE_SYMBOL]:
CompletableMeta<T>
Type Parameters
T
T extends StandardSchemaV1
CompleteCallback
CompleteCallback<
T> = (value,context?) =>InferInput<T>[] |Promise<InferInput<T>[]>
Defined in: packages/server/src/server/completable.ts:5
Type Parameters
T
T extends StandardSchemaV1 = StandardSchemaV1
Parameters
value
InferInput<T>
context?
arguments?
Record<string, string>
Returns
InferInput<T>[] | Promise<InferInput<T>[]>
Variables
COMPLETABLE_SYMBOL
constCOMPLETABLE_SYMBOL: uniquesymbol
Defined in: packages/server/src/server/completable.ts:3
Functions
completable()
completable<
T>(schema,complete):CompletableSchema<T>
Defined in: packages/server/src/server/completable.ts:51
Wraps a schema to provide autocompletion capabilities. Useful for, e.g., prompt arguments in MCP.
Type Parameters
T
T extends StandardSchemaV1<unknown, unknown>
Parameters
schema
T
complete
Returns
Example
server.registerPrompt(
'review-code',
{
title: 'Code Review',
argsSchema: z.object({
language: completable(z.string().describe('Programming language'), value =>
['typescript', 'javascript', 'python', 'rust', 'go'].filter(lang => lang.startsWith(value))
)
})
},
({ language }) => ({
messages: [
{
role: 'user' as const,
content: {
type: 'text' as const,
text: `Review this ${language} code.`
}
}
]
})
);See
McpServer.registerPrompt for using completable schemas in prompt argument definitions
getCompleter()
getCompleter<
T>(schema):CompleteCallback<T> |undefined
Defined in: packages/server/src/server/completable.ts:71
Gets the completer callback from a completable schema, if it exists.
Type Parameters
T
T extends StandardSchemaV1<unknown, unknown>
Parameters
schema
T
Returns
CompleteCallback<T> | undefined
isCompletable()
isCompletable(
schema):schema is CompletableSchema<StandardSchemaV1<unknown, unknown>>
Defined in: packages/server/src/server/completable.ts:64
Checks if a schema is completable (has completion metadata).
Parameters
schema
unknown
Returns
schema is CompletableSchema<StandardSchemaV1<unknown, unknown>>