aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/bridge/index.js
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-12-13 06:01:53 +0800
committerGitHub <noreply@github.com>2024-12-13 06:01:53 +0800
commit8e8b2f736b8e635396e713e219c8fe8575a6f491 (patch)
tree287177124e95506d0442e9916b052f905ae100d3 /mcp/bridge/index.js
parent33ef4f9178dc0d9c70f3e370a596c01780cc5b27 (diff)
downloadllm-functions-docker-8e8b2f736b8e635396e713e219c8fe8575a6f491.tar.gz
feat(mcp): add `prefix` filed to bridge server configuraiton (#148)
Diffstat (limited to 'mcp/bridge/index.js')
-rw-r--r--mcp/bridge/index.js8
1 files changed, 5 insertions, 3 deletions
diff --git a/mcp/bridge/index.js b/mcp/bridge/index.js
index c978737..59896e3 100644
--- a/mcp/bridge/index.js
+++ b/mcp/bridge/index.js
@@ -29,8 +29,9 @@ try {
async function startMcpServer(id, serverConfig) {
console.log(`Starting ${id} server...`);
const capabilities = { tools: {} };
+ const { prefix = true, ...rest } = serverConfig;
const transport = new StdioClientTransport({
- ...serverConfig,
+ ...rest,
});
const client = new Client(
{ name: id, version: "1.0.0" },
@@ -42,7 +43,7 @@ async function startMcpServer(id, serverConfig) {
({ name, description, inputSchema }) =>
({
spec: {
- name: `${normalizeToolName(`${id}_${name}`)}`,
+ name: `${formatToolName(id, name, prefix)}`,
description,
parameters: inputSchema,
},
@@ -181,7 +182,8 @@ function arrayify(a) {
return r
}
-function normalizeToolName(name) {
+function formatToolName(serverName, toolName, prefix) {
+ const name = prefix ? `${serverName}_${toolName}` : toolName;
return name.toLowerCase().replace(/-/g, "_");
}