1+ """Tool schemas for zero-api-key-web-search Hermes plugin.
2+
3+ These schemas describe the tools available via the MCP server.
4+ Hermes uses these for tool discovery when the MCP server is not reachable.
5+ """
6+
7+ SEARCH_WEB = {
8+ "name" : "search_web" ,
9+ "description" : "Search the web for real-time information, news, images, books, or videos." ,
10+ "parameters" : {
11+ "type" : "object" ,
12+ "properties" : {
13+ "query" : {"type" : "string" , "description" : "The search query." },
14+ "type" : {"type" : "string" , "enum" : ["text" , "news" , "images" , "videos" , "books" ], "description" : "Type of search. Default: text." },
15+ "region" : {"type" : "string" , "description" : "Region code (default: wt-wt)." },
16+ "timelimit" : {"type" : "string" , "enum" : ["d" , "w" , "m" , "y" , "" ], "description" : "Time limit for results." },
17+ "providers" : {"type" : "array" , "items" : {"type" : "string" }, "description" : "Provider list, e.g. ['ddgs', 'searxng', 'brightdata']." },
18+ "profile" : {"type" : "string" , "enum" : ["free" , "default" , "free-verified" , "production" , "max-evidence" ]},
19+ "goggles" : {"type" : "string" , "description" : "Goggles preset for reranking." },
20+ },
21+ "required" : ["query" ],
22+ },
23+ }
24+
25+ BROWSE_PAGE = {
26+ "name" : "browse_page" ,
27+ "description" : "Fetch and extract content from a URL. Returns Markdown by default." ,
28+ "parameters" : {
29+ "type" : "object" ,
30+ "properties" : {
31+ "url" : {"type" : "string" , "description" : "The URL to read." },
32+ "max_chars" : {"type" : "integer" , "description" : "Max characters to extract (default: 50000)." },
33+ "format" : {"type" : "string" , "enum" : ["markdown" , "text" ], "description" : "Output format (default: markdown)." },
34+ "prompt" : {"type" : "string" , "description" : "Optional extraction hint for the agent's LLM." },
35+ },
36+ "required" : ["url" ],
37+ },
38+ }
39+
40+ VERIFY_CLAIM = {
41+ "name" : "verify_claim" ,
42+ "description" : "Evaluate whether a factual claim is supported, contested, or under-evidenced." ,
43+ "parameters" : {
44+ "type" : "object" ,
45+ "properties" : {
46+ "claim" : {"type" : "string" , "description" : "The factual claim to verify." },
47+ "region" : {"type" : "string" , "description" : "Region code (default: wt-wt)." },
48+ "timelimit" : {"type" : "string" , "enum" : ["d" , "w" , "m" , "y" , "" ]},
49+ "providers" : {"type" : "array" , "items" : {"type" : "string" }},
50+ "profile" : {"type" : "string" , "enum" : ["free" , "default" , "free-verified" , "production" , "max-evidence" ]},
51+ "goggles" : {"type" : "string" },
52+ "with_pages" : {"type" : "boolean" , "description" : "Fetch top pages for deeper analysis." },
53+ "deep" : {"type" : "boolean" , "description" : "Alias for with_pages." },
54+ "max_pages" : {"type" : "integer" , "description" : "Max pages to fetch (default: 3)." },
55+ },
56+ "required" : ["claim" ],
57+ },
58+ }
59+
60+ EVIDENCE_REPORT = {
61+ "name" : "evidence_report" ,
62+ "description" : "Generate a citation-ready evidence report combining search, verification, and analysis." ,
63+ "parameters" : {
64+ "type" : "object" ,
65+ "properties" : {
66+ "query" : {"type" : "string" , "description" : "Search query to gather evidence." },
67+ "claim" : {"type" : "string" , "description" : "Optional explicit claim to verify." },
68+ "region" : {"type" : "string" },
69+ "timelimit" : {"type" : "string" , "enum" : ["d" , "w" , "m" , "y" , "" ]},
70+ "providers" : {"type" : "array" , "items" : {"type" : "string" }},
71+ "profile" : {"type" : "string" },
72+ "goggles" : {"type" : "string" },
73+ "with_pages" : {"type" : "boolean" },
74+ "deep" : {"type" : "boolean" },
75+ "max_pages" : {"type" : "integer" },
76+ "max_sources" : {"type" : "integer" , "description" : "Max sources in report digest (default: 5)." },
77+ },
78+ "required" : ["query" ],
79+ },
80+ }
81+
82+ LLM_CONTEXT = {
83+ "name" : "llm_context" ,
84+ "description" : "Build compact, citation-ready Markdown context for LLMs." ,
85+ "parameters" : {
86+ "type" : "object" ,
87+ "properties" : {
88+ "query" : {"type" : "string" , "description" : "Search query to ground." },
89+ "type" : {"type" : "string" , "enum" : ["text" , "news" , "images" , "videos" , "books" ]},
90+ "region" : {"type" : "string" },
91+ "timelimit" : {"type" : "string" },
92+ "providers" : {"type" : "array" , "items" : {"type" : "string" }},
93+ "profile" : {"type" : "string" },
94+ "goggles" : {"type" : "string" },
95+ "max_sources" : {"type" : "integer" , "description" : "Max sources (default: 8)." },
96+ "include_verification" : {"type" : "boolean" , "description" : "Include evidence verification (default: true)." },
97+ },
98+ "required" : ["query" ],
99+ },
100+ }
101+
102+ LIST_PROVIDERS = {
103+ "name" : "list_providers" ,
104+ "description" : "List available search providers, profiles, goggles presets, and cache stats." ,
105+ "parameters" : {"type" : "object" , "properties" : {}},
106+ }
107+
108+ CLEAR_CACHE = {
109+ "name" : "clear_cache" ,
110+ "description" : "Clear the response cache for fresh results." ,
111+ "parameters" : {"type" : "object" , "properties" : {}},
112+ }
0 commit comments