git-subtree-dir: packages/mcp-typescript git-subtree-split: 2cc7dd104307d48bab8d27760f16c63c119d8a88
43 lines
1.7 KiB
JavaScript
Generated
43 lines
1.7 KiB
JavaScript
Generated
import { Protocol } from "../shared/protocol.js";
|
|
import { InitializedNotificationSchema, InitializeRequestSchema, PROTOCOL_VERSION, } from "../types.js";
|
|
/**
|
|
* An MCP server on top of a pluggable transport.
|
|
*
|
|
* This server will automatically respond to the initialization flow as initiated from the client.
|
|
*/
|
|
export class Server extends Protocol {
|
|
/**
|
|
* Initializes this server with the given name and version information.
|
|
*/
|
|
constructor(_serverInfo) {
|
|
super();
|
|
this._serverInfo = _serverInfo;
|
|
this.setRequestHandler(InitializeRequestSchema, (request) => this._oninitialize(request));
|
|
this.setNotificationHandler(InitializedNotificationSchema, () => { var _a; return (_a = this.oninitialized) === null || _a === void 0 ? void 0 : _a.call(this); });
|
|
}
|
|
async _oninitialize(request) {
|
|
if (request.params.protocolVersion !== PROTOCOL_VERSION) {
|
|
throw new Error(`Client's protocol version is not supported: ${request.params.protocolVersion}`);
|
|
}
|
|
this._clientCapabilities = request.params.capabilities;
|
|
this._clientVersion = request.params.clientInfo;
|
|
return {
|
|
protocolVersion: PROTOCOL_VERSION,
|
|
capabilities: {},
|
|
serverInfo: this._serverInfo,
|
|
};
|
|
}
|
|
/**
|
|
* After initialization has completed, this will be populated with the client's reported capabilities.
|
|
*/
|
|
getClientCapabilities() {
|
|
return this._clientCapabilities;
|
|
}
|
|
/**
|
|
* After initialization has completed, this will be populated with information about the client's name and version.
|
|
*/
|
|
getClientVersion() {
|
|
return this._clientVersion;
|
|
}
|
|
}
|
|
//# sourceMappingURL=index.js.map
|