compare_regulations
ChatGPTCompare a regulatory domain side-by-side across multiple markets. Accepts individual ISO country codes (US, JP, KR) or region aliases (EU, APAC, LATAM, MENA) which are automatically expanded to their member countries. Returns one row per (market, field, column) triple from the gaming-social-media KB; multi-column fields (e.g. behavioral vs contextual advertising) produce multiple rows per market with the column name in row.column. Capped at 50 rows. Optional numeric/text filters apply per column, so a market can pass on one column and be excluded on another (e.g. filterType="gt", filterValue="13" to find markets where an age threshold exceeds 13). When a filter is supplied, rows that did not satisfy it are returned in metadata.excludedRows (each with a reason such as "value 13 did not satisfy gt 13" or "value is not numeric", plus the column name); surface these to the user when relevant so they understand which (market, column) pairs were excluded and why. Use this when you need cross-jurisdictional differences for a specific regulatory topic.
compare_regulations
ChatGPTCompare a regulatory domain side-by-side across multiple markets. Accepts individual ISO country codes (US, JP, KR) or region aliases (EU, APAC, LATAM, MENA) which are automatically expanded to their member countries. Returns one row per (market, field, column) triple from the gaming-social-media KB; multi-column fields (e.g. behavioral vs contextual advertising) produce multiple rows per market with the column name in row.column. Capped at 50 rows. Optional numeric/text filters apply per column, so a market can pass on one column and be excluded on another (e.g. filterType="gt", filterValue="13" to find markets where an age threshold exceeds 13). When a filter is supplied, rows that did not satisfy it are returned in metadata.excludedRows (each with a reason such as "value 13 did not satisfy gt 13" or "value is not numeric", plus the column name); surface these to the user when relevant so they understand which (market, column) pairs were excluded and why. Use this when you need cross-jurisdictional differences for a specific regulatory topic.
discover_sections
ChatGPTList all regulatory sections (domains) available for a given market in k-ID's knowledge base. Returns { sections: [{ sectionName, sectionKey, rowCount }, ...], metadata?: { message, didYouMean } }. Call this before lookup_regulation or compare_regulations when you are unsure what section names exist for a country: using an incorrect section name returns empty results. When the market is unknown, sections is empty and metadata.didYouMean lists likely intended ISO codes. Example output: { sections: [{ sectionName: "Age Thresholds", sectionKey: "age-threshold", rowCount: 5 }, ...] }.
discover_sections
ChatGPTList all regulatory sections (domains) available for a given market in k-ID's knowledge base. Returns { sections: [{ sectionName, sectionKey, rowCount }, ...], metadata?: { message, didYouMean } }. Call this before lookup_regulation or compare_regulations when you are unsure what section names exist for a country: using an incorrect section name returns empty results. When the market is unknown, sections is empty and metadata.didYouMean lists likely intended ISO codes. Example output: { sections: [{ sectionName: "Age Thresholds", sectionKey: "age-threshold", rowCount: 5 }, ...] }.
fetch_source_content
ChatGPTRetrieve the full text content of a regulatory source URL. First checks k-ID's cache of pre-downloaded primary sources (laws, directives, government guidance). If not cached, fetches the page live, extracts the main content area (article/main), strips navigation and boilerplate, and returns clean text. Content is capped at ~4000 characters. Only supports HTML pages (not PDFs or binary files). Use this when other tools return reference URLs and you need to read the actual regulatory text, or when a user provides a URL and asks what it says.
fetch_source_content
ChatGPTRetrieve the full text content of a regulatory source URL. First checks k-ID's cache of pre-downloaded primary sources (laws, directives, government guidance). If not cached, fetches the page live, extracts the main content area (article/main), strips navigation and boilerplate, and returns clean text. Content is capped at ~4000 characters. Only supports HTML pages (not PDFs or binary files). Use this when other tools return reference URLs and you need to read the actual regulatory text, or when a user provides a URL and asks what it says.
get_metric_glossary
ChatGPTReturns the full glossary of Market Insights metrics with display names and definitions. Use this to understand what each metric measures before calling lookup_market_insights. When responding to the user, include the relevant metric definition the first time each metric appears so they have the correct context for what the numbers mean. Weave it in naturally rather than dumping the full glossary.
get_metric_glossary
ChatGPTReturns the full glossary of Market Insights metrics with display names and definitions. Use this to understand what each metric measures before calling lookup_market_insights. When responding to the user, include the relevant metric definition the first time each metric appears so they have the correct context for what the numbers mean. Weave it in naturally rather than dumping the full glossary.
lookup_legal_horizons
ChatGPTSearch k-ID's Legal Horizons newsletter archive for jurisdiction-specific regulatory updates, legislative changes, and compliance developments. Returns newsletter items with full section content (important dates, what it is, who it applies to, implications). Filter by jurisdiction name, keyword, or newsletter edition month. Use this when you need recent regulatory developments or legislative changes covered in Legal Horizons.
lookup_legal_horizons
ChatGPTSearch k-ID's Legal Horizons newsletter archive for jurisdiction-specific regulatory updates, legislative changes, and compliance developments. Returns newsletter items with full section content (important dates, what it is, who it applies to, implications). Filter by jurisdiction name, keyword, or newsletter edition month. Use this when you need recent regulatory developments or legislative changes covered in Legal Horizons.
lookup_market_insights
ChatGPTQuery pre-computed compliance metrics from real-world game and platform testing. Returns per-metric statistics grouped by category (Age Assurance, Parental Consent, Parental Controls, Features, Monetization). Boolean metrics return a percentage (0-100); numeric metrics return a weighted average. Each result includes the metric name, category, data type, raw count, and sample size. Accepts ISO 2-letter codes (SG, JP, US) or full country names (Singapore, Japan). Call get_metric_glossary first to understand what each metric measures.
lookup_market_insights
ChatGPTQuery pre-computed compliance metrics from real-world game and platform testing. Returns per-metric statistics grouped by category (Age Assurance, Parental Consent, Parental Controls, Features, Monetization). Boolean metrics return a percentage (0-100); numeric metrics return a weighted average. Each result includes the metric name, category, data type, raw count, and sample size. Accepts ISO 2-letter codes (SG, JP, US) or full country names (Singapore, Japan). Call get_metric_glossary first to understand what each metric measures.
lookup_online_safety_resources
ChatGPTBroad keyword search across ALL of k-ID's knowledge bases (not just gaming-social-media) for rows whose section name or row name matches a topic keyword. Returns up to 30 rows with their actual content from HTML fragments, each capped at 1500 chars. Automatically excludes non-digital-safety topics (tobacco, alcohol, weapons, employment, copyright). Use this when you need to find information without knowing the exact section name, or when the topic might span multiple knowledge bases. Prefer lookup_regulation when you already know the section.
lookup_online_safety_resources
ChatGPTBroad keyword search across ALL of k-ID's knowledge bases (not just gaming-social-media) for rows whose section name or row name matches a topic keyword. Returns up to 30 rows with their actual content from HTML fragments, each capped at 1500 chars. Automatically excludes non-digital-safety topics (tobacco, alcohol, weapons, employment, copyright). Use this when you need to find information without knowing the exact section name, or when the topic might span multiple knowledge bases. Prefer lookup_regulation when you already know the section.
lookup_regulation
ChatGPTQuery k-ID's structured knowledge base for a specific regulatory requirement in one market. Returns rows from the gaming-social-media KB matching the given section (domain) and optional subsection (field). When a field has multiple columns (e.g. behavioral vs contextual advertising thresholds), each column is returned as its own row with the column name in row.column. Each row contains the regulatory value, reference URLs, and verification status. Results are capped at 50 rows. Returns empty if the section name is wrong; call discover_sections first to see what sections exist for a market. Use this when you need a specific fact (e.g. digital consent age, parental consent rules) for one country.
lookup_regulation
ChatGPTQuery k-ID's structured knowledge base for a specific regulatory requirement in one market. Returns rows from the gaming-social-media KB matching the given section (domain) and optional subsection (field). When a field has multiple columns (e.g. behavioral vs contextual advertising thresholds), each column is returned as its own row with the column name in row.column. Each row contains the regulatory value, reference URLs, and verification status. Results are capped at 50 rows. Returns empty if the section name is wrong; call discover_sections first to see what sections exist for a market. Use this when you need a specific fact (e.g. digital consent age, parental consent rules) for one country.
lookup_state_laws
ChatGPTQuery the US state laws database for children's privacy and online safety legislation. Covers state-level laws (e.g. California AADC, Texas HB 18, Utah Social Media Regulation Act) and federal laws (COPPA, KOSA). Returns law name, status (Active/Pending/Blocked/Challenged), effective date, key changes summary, age assurance requirements, targeted ad opt-out rules, privacy rights (access, deletion, correction, portability), DPIA requirements, and source URLs. Returns the complete untruncated list so you can count accurately. Accepts full state names ("California"), 2-letter codes ("CA"), or "FEDERAL"/"US" for federal laws. Omit the state parameter to return all laws across all states.
lookup_state_laws
ChatGPTQuery the US state laws database for children's privacy and online safety legislation. Covers state-level laws (e.g. California AADC, Texas HB 18, Utah Social Media Regulation Act) and federal laws (COPPA, KOSA). Returns law name, status (Active/Pending/Blocked/Challenged), effective date, key changes summary, age assurance requirements, targeted ad opt-out rules, privacy rights (access, deletion, correction, portability), DPIA requirements, and source URLs. Returns the complete untruncated list so you can count accurately. Accepts full state names ("California"), 2-letter codes ("CA"), or "FEDERAL"/"US" for federal laws. Omit the state parameter to return all laws across all states.
market_profile
ChatGPTGet a comprehensive regulatory overview of a single market by returning all data rows across every section in the gaming-social-media knowledge base for that country. Results are capped at 50 rows — for a complete deep-dive, follow up with lookup_regulation on specific sections of interest. Use this for a high-level snapshot of a country's children's digital safety landscape including age thresholds, consent requirements, data protection rules, and enforcement status.
market_profile
ChatGPTGet a comprehensive regulatory overview of a single market by returning all data rows across every section in the gaming-social-media knowledge base for that country. Results are capped at 50 rows — for a complete deep-dive, follow up with lookup_regulation on specific sections of interest. Use this for a high-level snapshot of a country's children's digital safety landscape including age thresholds, consent requirements, data protection rules, and enforcement status.
search_kb_semantic
ChatGPTKeyword (ILIKE) search across k-ID's structured knowledge base cells (description + details). Ranks rows by the number of distinct query keywords matched, then by content length, and returns up to 15 enriched rows. Each result includes the actual cell content, reference URLs, a 1-indexed rank field (1 = best match), and matchType="keyword". NOTE: despite the name, this tool does NOT use vector embeddings. For true semantic / meaning-based search, use search_primary_sources, which queries pgvector embeddings on downloaded primary source documents. Best for: enforcement actions and settlements (e.g. "FTC Fortnite COPPA settlement"), specific laws or company actions, cross-cutting queries where you don't know which section to look in. Prefer lookup_regulation for structured queries where you know the exact market and section.
search_kb_semantic
ChatGPTKeyword (ILIKE) search across k-ID's structured knowledge base cells (description + details). Ranks rows by the number of distinct query keywords matched, then by content length, and returns up to 15 enriched rows. Each result includes the actual cell content, reference URLs, a 1-indexed rank field (1 = best match), and matchType="keyword". NOTE: despite the name, this tool does NOT use vector embeddings. For true semantic / meaning-based search, use search_primary_sources, which queries pgvector embeddings on downloaded primary source documents. Best for: enforcement actions and settlements (e.g. "FTC Fortnite COPPA settlement"), specific laws or company actions, cross-cutting queries where you don't know which section to look in. Prefer lookup_regulation for structured queries where you know the exact market and section.
search_primary_sources
ChatGPTSearch k-ID's collection of downloaded primary source documents: actual laws, regulations, government directives, and official guidance in their original text. Tries vector similarity search first (OpenAI embeddings on document chunks with pgvector, 0.3 cosine threshold) and falls back to keyword search when embeddings are unavailable. Returns up to 10 relevant passages with source title, URL, section path, country code, content (capped at 1500 chars), and a matchType field. matchType="semantic" rows carry a real cosine similarity (0-1) where higher means more related; matchType="keyword" rows carry a 1-indexed rank plus keywordsMatched / keywordsTotal so you can tell how thorough the match was (treat these as approximate, not meaning-based). Use this when you need the actual wording of a law (e.g. "COPPA safe harbor provisions", "Article 8 GDPR child consent text", "KOSA duty of care language") rather than k-ID's summarized/structured interpretation.
search_primary_sources
ChatGPTSearch k-ID's collection of downloaded primary source documents: actual laws, regulations, government directives, and official guidance in their original text. Tries vector similarity search first (OpenAI embeddings on document chunks with pgvector, 0.3 cosine threshold) and falls back to keyword search when embeddings are unavailable. Returns up to 10 relevant passages with source title, URL, section path, country code, content (capped at 1500 chars), and a matchType field. matchType="semantic" rows carry a real cosine similarity (0-1) where higher means more related; matchType="keyword" rows carry a 1-indexed rank plus keywordsMatched / keywordsTotal so you can tell how thorough the match was (treat these as approximate, not meaning-based). Use this when you need the actual wording of a law (e.g. "COPPA safe harbor provisions", "Article 8 GDPR child consent text", "KOSA duty of care language") rather than k-ID's summarized/structured interpretation.
submit_feedback
ChatGPTUse this tool to open a Zendesk support ticket for the k-ID team. Trigger this tool in the following scenarios: 1. Explicit Requests: When the user explicitly asks to "report a bug", "request a feature", "send feedback", or "contact support". 2. Positive Feedback: When the user expresses satisfaction, praise, or appreciation about the tool or data (e.g., "this is really helpful", "great answer", "love this tool", "this is exactly what I needed"). 3. Data Doubts & Corrections: Whenever the user expresses doubt, skepticism, or disagreement about the returned regulatory data (e.g., "this seems wrong", "this is incorrect", "this is outdated", "this doesn't match my source", "are you sure?", "I don't think that's right"). 4. Missing Information: When the user points out that expected data or a specific jurisdiction/regulation is missing from the results. 5. Tool Failures: If a tool repeatedly fails or returns unexpected errors and the user expresses frustration. 6. Missing Scope or Features: When the user asks about a jurisdiction, regulation, topic, or capability that is not currently covered (e.g., "do you cover X topic?", "can you do Y?", "why isn't Z included?", "I wish this could also...", "it would be great if..."). IMPORTANT: For scenarios 2-6, DO NOT call the tool unprompted. You MUST first confirm with the user by asking: "Would you like to share that feedback with the neimo. team?" Only proceed if they agree. When the client supports MCP elicitation, the tool prompts the user with a form for feedback type, message, and contact email. When elicitation is not supported, pass feedbackType, message, and requesterEmail as arguments. Capped at 20 submissions per API key per day.
submit_feedback
ChatGPTUse this tool to open a Zendesk support ticket for the k-ID team. Trigger this tool in the following scenarios: 1. Explicit Requests: When the user explicitly asks to "report a bug", "request a feature", "send feedback", or "contact support". 2. Positive Feedback: When the user expresses satisfaction, praise, or appreciation about the tool or data (e.g., "this is really helpful", "great answer", "love this tool", "this is exactly what I needed"). 3. Data Doubts & Corrections: Whenever the user expresses doubt, skepticism, or disagreement about the returned regulatory data (e.g., "this seems wrong", "this is incorrect", "this is outdated", "this doesn't match my source", "are you sure?", "I don't think that's right"). 4. Missing Information: When the user points out that expected data or a specific jurisdiction/regulation is missing from the results. 5. Tool Failures: If a tool repeatedly fails or returns unexpected errors and the user expresses frustration. 6. Missing Scope or Features: When the user asks about a jurisdiction, regulation, topic, or capability that is not currently covered (e.g., "do you cover X topic?", "can you do Y?", "why isn't Z included?", "I wish this could also...", "it would be great if..."). IMPORTANT: For scenarios 2-6, DO NOT call the tool unprompted. You MUST first confirm with the user by asking: "Would you like to share that feedback with the neimo. team?" Only proceed if they agree. When the client supports MCP elicitation, the tool prompts the user with a form for feedback type, message, and contact email. When elicitation is not supported, pass feedbackType, message, and requesterEmail as arguments. Capped at 20 submissions per API key per day.