{"apiVersion":"v1","directorySlug":"modlabs-mcp-212d4f5ab1","title":"ModLabs","description":"Independent developer team crafting thoughtful tools for FiveM, Minecraft, and the Web.","pageUrl":"https://www.mcpbundles.com/skills/modlabs-mcp-212d4f5ab1","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://api.modlabs.cc/mcp","hostedMcpUrl":null,"toolCount":15,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"cc.modlabs/modlabs-mcp-212d4f5ab1","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"lookup_ip_address","description":"Retrieves geolocation, network, time-zone, astronomy, and currency details for one IPv4 or IPv6 address from external data providers. Use when the user asks for details about a specific IP address.","inputSchema":{"type":"object","required":["ip"],"properties":{"ip":{"type":"string"},"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"Look up an IP address","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"lookup_ip_address","displayName":"Look up an IP address"},{"name":"get_discord_guild","description":"Retrieves details for one numeric Discord guild ID through Discord and may refresh an internal response cache. Use when the user asks for information about a specific Discord server.","inputSchema":{"type":"object","required":["guildId"],"properties":{"query":{"type":"object","additionalProperties":{"type":"string"}},"guildId":{"type":"string"}},"additionalProperties":false},"title":"Get Discord guild details","logicalName":"get_discord_guild","displayName":"Get Discord guild details","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_discord_user_profile","description":"Retrieves a profile for one numeric Discord user ID, optionally including username history and anonymized IP metadata held by ModLabs, and may refresh an internal response cache. Use when the user asks for this specific Discord profile information.","inputSchema":{"type":"object","required":["userId"],"properties":{"query":{"type":"object","additionalProperties":{"type":"string"}},"userId":{"type":"string"}},"additionalProperties":false},"title":"Get a Discord user profile","logicalName":"get_discord_user_profile","displayName":"Get a Discord user profile","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_german_law_document","description":"Retrieves the HTML text of one StGB, BGB, or GG document page from gesetze-im-internet.de. Use when the user selects a law search result or supplies a specific document page identifier.","inputSchema":{"type":"object","required":["page"],"properties":{"page":{"type":"string"},"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"Get a German law document","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_german_law_document","displayName":"Get a German law document"},{"name":"search_german_laws","description":"Searches StGB, BGB, or GG document titles on gesetze-im-internet.de using query fields type and q. Use when the user asks to find a German law document by title or search terms.","inputSchema":{"type":"object","required":[],"properties":{"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"Search German laws","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_german_laws","displayName":"Search German laws"},{"name":"lookup_fivem_server","description":"Resolves one CFX join code, queries the related FiveM server and IP data providers, and may refresh a five-minute internal cache. Use when the user asks for connection or server details for a specific FiveM join code.","inputSchema":{"type":"object","required":["token"],"properties":{"query":{"type":"object","additionalProperties":{"type":"string"}},"token":{"type":"string"}},"additionalProperties":false},"title":"Look up a FiveM server","logicalName":"lookup_fivem_server","displayName":"Look up a FiveM server","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"run_sandboxed_javascript","description":"Evaluates supplied JavaScript in an isolated QuickJS runtime with network access blocked and returns output, logs, and errors. Use when the user explicitly asks to execute a small JavaScript snippet.","inputSchema":{"type":"object","required":[],"properties":{"body":{"type":"object","required":["code"],"properties":{"env":{"type":"object","additionalProperties":{}},"code":{"type":"string","minLength":1},"timeoutMs":{"type":"integer","maximum":5000,"minimum":1},"maxOutputBytes":{"type":"integer","maximum":1048576,"minimum":1024}}},"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"Run sandboxed JavaScript","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"run_sandboxed_javascript","displayName":"Run sandboxed JavaScript"},{"name":"get_minecraft_player_profile","description":"Retrieves a Java Edition player profile by username or UUID from external profile services and may refresh an internal cache. Use when the user asks for profile or skin details for a specific Minecraft player.","inputSchema":{"type":"object","required":["identifier"],"properties":{"query":{"type":"object","additionalProperties":{"type":"string"}},"identifier":{"type":"string"}},"additionalProperties":false},"title":"Get a Minecraft player profile","logicalName":"get_minecraft_player_profile","displayName":"Get a Minecraft player profile","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_opera_desktop_versions","description":"Retrieves Opera desktop release versions and related Chromium and NW.js version metadata from public release sources. Use when the user asks about available or current Opera desktop versions.","inputSchema":{"type":"object","required":[],"properties":{"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"List Opera desktop versions","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_opera_desktop_versions","displayName":"List Opera desktop versions"},{"name":"create_url_slug","description":"Converts supplied text into a lowercase, accent-stripped, hyphenated URL slug and may store the result in an internal edge cache. Use when the user asks to turn text into a URL-safe slug.","inputSchema":{"type":"object","required":[],"properties":{"body":{"type":"object","required":["input"],"properties":{"input":{"type":"string"}}},"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"Create a URL slug","logicalName":"create_url_slug","displayName":"Create a URL slug","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"generate_codenames_move","description":"Generates either a spymaster hint or ranked guesses from supplied Codenames board data by sending that data to OpenAI. Use when the user asks for help with a specific Codenames turn.","inputSchema":{"type":"object","required":[],"properties":{"body":{"type":"object","properties":{"hint":{"type":"string","maxLength":128,"minLength":1},"lang":{"type":"string","maxLength":64,"minLength":1},"mode":{"enum":["spymaster"],"type":"string"},"words":{"type":"array","items":{"type":"string","maxLength":64,"minLength":1},"maxItems":25,"minItems":1},"targets":{"type":"integer","maximum":25,"minimum":1},"allWords":{"type":"array","items":{"type":"string","maxLength":64,"minLength":1},"maxItems":25,"minItems":1},"teamWords":{"type":"array","items":{"type":"string","maxLength":64,"minLength":1},"maxItems":25,"minItems":1},"avoidWords":{"type":"array","items":{"type":"string","maxLength":64,"minLength":1},"maxItems":25,"minItems":1},"assassinWord":{"type":["string","null"],"maxLength":64,"minLength":1},"cacheBreaker":{"type":"string","maxLength":64,"minLength":1}}},"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"Generate a Codenames move","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"generate_codenames_move","displayName":"Generate a Codenames move"},{"name":"search_renpy_documentation","description":"Searches the documentation index fetched from renpy.org using query field q and returns ranked pages. Use when the user asks to find Ren'Py documentation for a topic.","inputSchema":{"type":"object","required":[],"properties":{"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"Search Ren'Py documentation","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_renpy_documentation","displayName":"Search Ren'Py documentation"},{"name":"get_renpy_documentation_page","description":"Retrieves one Ren'Py documentation page from renpy.org as HTML. Use when the user selects a documentation search result or supplies a specific Ren'Py page identifier.","inputSchema":{"type":"object","required":["page"],"properties":{"page":{"type":"string"},"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"Get a Ren'Py documentation page","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_renpy_documentation_page","displayName":"Get a Ren'Py documentation page"},{"name":"resolve_soundcloud_playlist","description":"Resolves one SoundCloud playlist permalink into an M3U playlist through SoundCloud and may refresh an internal edge cache. Use when the user asks for an M3U playlist for a specific SoundCloud artist and set slug.","inputSchema":{"type":"object","required":["artist","playlist"],"properties":{"query":{"type":"object","additionalProperties":{"type":"string"}},"artist":{"type":"string"},"playlist":{"type":"string"}},"additionalProperties":false},"title":"Resolve a SoundCloud playlist","logicalName":"resolve_soundcloud_playlist","displayName":"Resolve a SoundCloud playlist","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_blocked_rickroll_video_ids","description":"Lists video IDs in the ModLabs anti-rickroll blocklist and may refresh an internal response cache. Use when the user asks which video IDs are currently blocked by this service.","inputSchema":{"type":"object","required":[],"properties":{"query":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"title":"List blocked rickroll video IDs","logicalName":"list_blocked_rickroll_video_ids","displayName":"List blocked rickroll video IDs","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=ModLabs&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkubW9kbGFicy5jYy9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22ModLabs%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.modlabs.cc%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22ModLabs%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.modlabs.cc%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=ModLabs&connectorUrl=https%3A%2F%2Fapi.modlabs.cc%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"ModLabs\" --url \"https://api.modlabs.cc/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/modlabs-mcp-212d4f5ab1","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/modlabs-mcp-212d4f5ab1/tools/{tool}","mcpServerUrl":"https://api.modlabs.cc/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/modlabs-mcp-212d4f5ab1?live=1"}