Skip to content

Commit ffd1961

Browse files
committed
Abstract registering tools away from app developer
1 parent 252deaa commit ffd1961

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

splunklib/mcp/tools/registrations.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from fastmcp.client import Client
66
from mcp.types import Tool as MCPTool
77

8+
from splunklib.mcp.mcp import send_mcp_registrations
89
from splunklib.mcp.tools.models import (
910
McpInputOutputSchema,
1011
SplunkMeta,
@@ -83,3 +84,15 @@ async def get_mcp_tools(server_path: str) -> list[MCPTool]:
8384
tools = await mcp_client.list_tools()
8485

8586
return tools
87+
88+
89+
async def register_tools_to_mcp_server(
90+
server_file_path: str, endpoint_url: str
91+
) -> None:
92+
tool_registrations = await get_mcp_tools(server_file_path)
93+
94+
await send_mcp_registrations(
95+
endpoint_url,
96+
tool_registrations,
97+
server_file_path,
98+
)

tests/system/test_apps/mcp_enabled_app/bin/post_install_example.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,11 @@
11
import asyncio
22
import os
33

4-
from splunklib.mcp.mcp import send_mcp_registrations
5-
from splunklib.mcp.tools import registrations
4+
from splunklib.mcp.tools.registrations import register_tools_to_mcp_server
65

76

87
async def post_install(server_file_path: str, endpoint_url: str) -> None:
9-
tool_registrations = await registrations.get_mcp_tools(server_file_path)
10-
11-
await send_mcp_registrations(
12-
endpoint_url,
13-
tool_registrations,
14-
server_file_path,
15-
)
8+
await register_tools_to_mcp_server(server_file_path, endpoint_url)
169

1710

1811
if __name__ == "__main__":

0 commit comments

Comments
 (0)