@l4t/mcp-ai
Version:
A set of tools for making integration and aggregation of MCP servers extremely easy.
57 lines • 1.81 kB
JavaScript
import { create as createServices } from './services.js';
const listToolsTool = {
name: 'mcp-integrator-list-tools',
description: 'List all the tools you have access to. Or better yet the user does.',
inputSchema: {
type: 'object',
properties: {},
},
};
const create = (config) => {
const services = createServices(config);
const connect = async () => {
await services.connect();
};
const disconnect = async () => {
await services.disconnect();
};
const getTools = async () => {
const tools = await services.getTools();
return config.includeListToolsTool !== false
? [listToolsTool].concat(tools)
: tools;
};
const formatToolsForProvider = (tools) => {
return services.formatToolsForProvider(tools);
};
const extractToolCalls = (response) => {
return services.extractToolCalls(response);
};
const executeToolCalls = async (calls) => {
const metatoolCall = calls.find(x => x.name === 'mcp-integrator-list-tools');
if (metatoolCall) {
const tools = await services.getTools();
return [
{
id: metatoolCall.id,
content: JSON.stringify(tools.map(x => x.name)),
},
];
}
return services.executeToolCalls(calls);
};
const createToolResponseRequest = (request, response, results) => {
return services.createToolResponseRequest(request, response, results);
};
return {
connect,
disconnect,
getTools,
formatToolsForProvider,
extractToolCalls,
executeToolCalls,
createToolResponseRequest,
};
};
export { create };
//# sourceMappingURL=features.js.map