64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
import json
|
|
|
|
# Read server.py to check DNS tools
|
|
with open('src/vultr_mcp/server.py', 'r') as f:
|
|
content = f.read()
|
|
|
|
# Check for DNS tools in tools list
|
|
dns_tools_in_list = []
|
|
lines = content.split('\n')
|
|
in_tools_section = False
|
|
for i, line in enumerate(lines):
|
|
if '@app.get("/tools")' in line:
|
|
in_tools_section = True
|
|
elif in_tools_section and 'return tools' in line:
|
|
in_tools_section = False
|
|
|
|
if in_tools_section and 'name="list_dns_domains"' in line:
|
|
# Find the tool name
|
|
for j in range(max(0, i-10), min(len(lines), i+10)):
|
|
if 'Tool(' in lines[j]:
|
|
# Extract tool name
|
|
for k in range(j, min(len(lines), j+20)):
|
|
if 'name=' in lines[k]:
|
|
name = lines[k].split('name=')[1].split('"')[1]
|
|
dns_tools_in_list.append(name)
|
|
break
|
|
break
|
|
|
|
print(f"DNS tools found in tools list: {len(dns_tools_in_list)}")
|
|
for tool in dns_tools_in_list:
|
|
print(f" - {tool}")
|
|
|
|
# Check for DNS tool handling in call_tool
|
|
dns_tools_in_handler = []
|
|
for line in lines:
|
|
if 'elif request.name ==' in line and 'dns' in line.lower():
|
|
tool_name = line.split('"')[1]
|
|
dns_tools_in_handler.append(tool_name)
|
|
|
|
print(f"\nDNS tools found in call_tool handler: {len(dns_tools_in_handler)}")
|
|
for tool in dns_tools_in_handler:
|
|
print(f" - {tool}")
|
|
|
|
# Check for DNS resources
|
|
dns_resources = []
|
|
for line in lines:
|
|
if 'uri="vultr://dns' in line:
|
|
uri = line.split('uri="')[1].split('"')[0]
|
|
dns_resources.append(uri)
|
|
|
|
print(f"\nDNS resources found: {len(dns_resources)}")
|
|
for resource in dns_resources:
|
|
print(f" - {resource}")
|
|
|
|
# Check for DNS prompts
|
|
dns_prompts = []
|
|
for line in lines:
|
|
if 'name="manage_dns"' in line:
|
|
dns_prompts.append('manage_dns')
|
|
|
|
print(f"\nDNS prompts found: {len(dns_prompts)}")
|
|
for prompt in dns_prompts:
|
|
print(f" - {prompt}")
|