@h1deya/langchain-mcp-tools
Version:
MCP To LangChain Tools Conversion Utility
50 lines (49 loc) • 1.48 kB
TypeScript
/**
* JSON Schema Draft 7 interface definition.
*
* The official MCP specification uses JSON Schema Draft 7
*
* References:
* - MCP specification: https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/schema/2025-06-18/schema.json
* - JSON Schema Draft 7: https://json-schema.org/draft-07
*/
export interface JsonSchemaDraft7 {
$schema?: string;
$id?: string;
$ref?: string;
$defs?: Record<string, JsonSchemaDraft7>;
definitions?: Record<string, JsonSchemaDraft7>;
type?: string | string[];
format?: string;
properties?: Record<string, JsonSchemaDraft7>;
required?: string[];
additionalProperties?: boolean | JsonSchemaDraft7;
patternProperties?: Record<string, JsonSchemaDraft7>;
items?: JsonSchemaDraft7 | JsonSchemaDraft7[];
minItems?: number;
maxItems?: number;
minLength?: number;
maxLength?: number;
pattern?: string;
minimum?: number;
maximum?: number;
exclusiveMinimum?: number | boolean;
exclusiveMaximum?: number | boolean;
anyOf?: JsonSchemaDraft7[];
oneOf?: JsonSchemaDraft7[];
allOf?: JsonSchemaDraft7[];
not?: JsonSchemaDraft7;
enum?: unknown[];
const?: unknown;
title?: string;
description?: string;
default?: unknown;
examples?: unknown[];
nullable?: boolean;
[key: string]: unknown;
}
export interface TransformResult {
schema: JsonSchemaDraft7;
wasTransformed: boolean;
changesSummary?: string;
}