Globestudio
Allows embedding animated dotted globes and maps directly into Figma designs via a Figma plugin.
Offers a Framer component for integrating animated globes into Framer projects.
Enables embedding globes into Notion pages via embed snippets.
Allows embedding globes in React applications via embed snippets or components.
Provides a copy-paste embed snippet to add interactive globes to Webflow sites.
Provides a WordPress plugin for adding dotted maps and globes to WordPress sites.
@globestudio/mcp
Model Context Protocol server for Globestudio — let any MCP-compatible AI assistant generate dotted-globe maps, build customized share URLs, and grab paste-ready embed snippets from chat.
Connect by URL (no install)
Globestudio hosts this server at https://globestudio.app/mcp (streamable HTTP). No install, no account, no API key.
Claude Code
claude mcp add --transport http globestudio https://globestudio.app/mcpClaude (claude.ai and Claude Desktop): open Customize, then Connectors, click +, then Add custom connector. Paste https://globestudio.app/mcp and click Add. Custom connectors work on Free (one connector), Pro, Max, Team and Enterprise plans; on Team and Enterprise an Owner adds it first.
Codex
codex mcp add globestudio --url https://globestudio.app/mcpOr add it to ~/.codex/config.toml:
[mcp_servers.globestudio]
url = "https://globestudio.app/mcp"Cursor: add it to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project):
{
"mcpServers": {
"globestudio": {
"url": "https://globestudio.app/mcp"
}
}
}Or install it in one click by opening this link:
cursor://anysphere.cursor-deeplink/mcp/install?name=globestudio&config=eyJ1cmwiOiJodHRwczovL2dsb2Jlc3R1ZGlvLmFwcC9tY3AifQ==Any other MCP client: add https://globestudio.app/mcp as a remote server using the streamable HTTP transport.
The hosted server is stateless: every request gets a fresh server, nothing is stored between requests, and replies are plain JSON. It takes POST only (GET and DELETE answer 405), requests up to 128 KB and batches of up to 10 messages.
Related MCP server: Liveblocks
Run it locally (stdio)
For Claude Code users:
claude mcp add globestudio -- npx -y @globestudio/mcpFor Claude Desktop, add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"globestudio": {
"command": "npx",
"args": ["-y", "@globestudio/mcp"]
}
}
}For Cursor, Cody, Continue, or any other MCP-over-stdio client: same shape — point them at npx -y @globestudio/mcp.
Restart your AI tool. Globestudio tools should now appear in its tool catalog.
What it does
Six tools, no external API calls (preset catalog ships embedded):
Tool | Purpose |
| Every shipped look — id, name, blurb, vibe tags, thumbnail URL, embed URL. |
| Fuzzy-find by aesthetic. |
| Build customized globe URLs: a studio share URL + an |
| Decode a Globestudio link (studio share link, |
| Paste-ready code: |
| Canonical live |
Example prompts
"Show me every Globestudio preset with a retro vibe."
"Make me a clean dotted globe with cyan dots and give me a share URL."
"Generate the React component for the Vapor preset at 1200×600."
"Here is my globe: https://globestudio.app/?c=… Make the dots red and show only Europe."
Source
This package is part of the Globestudio monorepo. The preset catalog mirrors src/data/look-presets.js from the main app — when new presets ship in Globestudio, they get added here in the same release.
License
MIT — see LICENSE.
Available Tools
6 toolsembed_snippetAInspect
Generate paste-ready embed code for any preset. Choose 'iframe' (HTML for Webflow / Notion / WordPress), 'react' (drop-in component), or 'script-tag' (vanilla JS loader).
| Name | Required | Description | Default |
|---|---|---|---|
| look | Yes | Preset id. | |
| width | No | Number of pixels OR string like '100%'. | |
| height | No | Number of pixels OR string. | |
| framework | No | iframe |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The verb "generate" plus "paste-ready embed code" implies a non-mutating, side-effect-free operation, which is useful, but there is no mention of auth requirements, rate limits, or whether anything is persisted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: purpose first, then the option breakdown. Every clause carries information and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple code-generation tool with no output schema and no annotations, the description covers purpose and the meaningful enum choice well. It stops short of explaining the required "look" parameter's expected value or the shape of the returned snippet.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so the baseline is 3, and the description adds real meaning by explaining each enum value ("iframe" → HTML for Webflow/Notion/WordPress, "react" → drop-in component, "script-tag" → vanilla JS loader). It does not clarify the "look" preset id or the width/height formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Generate paste-ready embed code") with clear scope ("for any preset"). It is distinguishable from siblings like list_presets and build_share_url, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (you call it to get embed code for a preset) and elaborates on which output format suits which platform, but that is really format-selection guidance rather than when-to-use-this-tool guidance. No exclusions or sibling alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_presetsAInspect
Fuzzy-find presets by vibe / aesthetic / use-case keyword. Examples: 'synthwave' → Vapor; 'print' → Halftone, Risograph, Newsprint; 'retro' → CRT, BadTV, Pixel; 'glow' → Aurora, Bloom. Returns ranked matches.
| Name | Required | Description | Default |
|---|---|---|---|
| vibe | Yes | Vibe keyword. Single word or short phrase. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose one behavioral trait — 'Returns ranked matches' — which tells the agent results are ordered by relevance rather than exhaustive. It does not clarify whether matching tolerates typos, whether it is read-only, or how many results come back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the verb and resource. The examples consume space but earn it by teaching the input space, and the return behavior is appended last.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup tool with no output schema, the description covers purpose, input vocabulary, and result ordering ('ranked matches'). Only minor gaps remain — no result count or tie-breaking detail — but nothing essential for invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents 'vibe' as a single word or short phrase, so the baseline is 3. The description adds real value on top by giving concrete keyword→preset examples ('glow' → Aurora, Bloom), which clarifies the expected input vocabulary beyond the schema's generic wording.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('fuzzy-find presets') plus the matching dimension ('vibe / aesthetic / use-case keyword'). The illustrative mappings make the tool's behavior concrete. It does not explicitly name the sibling list_presets to contrast fuzzy search against exhaustive listing, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'fuzzy-find' and the keyword examples, suggesting this is the search path versus list_presets' enumeration, but no when-to-use condition or alternative is stated explicitly. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_presetsAInspect
List every Globestudio look preset — id, name, blurb, vibe tags, thumbnail URL, embed URL. Call this first when the user asks about available looks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does disclose the return payload (the six fields) and the no-filter 'every preset' behavior. It omits any note on ordering, pagination, or auth, but for a zero-parameter read-only list those gaps are minor and the field disclosure is the information an agent actually needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler: the scope and payload come first, the trigger condition second. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with no annotations and no output schema, the description supplies both the trigger and the exact return fields, which substitutes for the missing output schema. Nothing an agent needs to invoke it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; there is no parameter semantics to explain. The description correctly signals a no-argument call by saying it lists 'every' preset.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (Globestudio look presets) and enumerates the exact fields returned (id, name, blurb, vibe tags, thumbnail URL, embed URL). It does not name or contrast itself with the sibling find_presets, so an agent must infer the difference between listing everything and searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Call this first when the user asks about available looks" gives a clear triggering condition and even an ordering hint relative to the sibling tools. It stops short of naming find_presets as the alternative for filtered or targeted lookups, so the when-not case is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_urlAInspect
Get the canonical live embed URL + thumbnail PNG URL for a single preset. Useful when you want to render an inline preview without building a full share URL.
| Name | Required | Description | Default |
|---|---|---|---|
| look | Yes | Preset id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the return payload (embed URL + thumbnail URL). However, it says nothing about auth requirements, whether the returned URLs are signed/expiring or stable, or any rate limits — meaningful gaps for a URL-issuing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what is returned and followed by the use case; nothing is redundant. The second sentence is slightly soft ('Useful when...') but still earns its place as routing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema, the description adequately states the returned values and the intended scenario. It lacks only secondary details (URL stability, auth) that would make it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'look' parameter is already documented as 'Preset id.' The description only restates 'a single preset' and adds no format, validity, or sourcing detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (get) and precise outputs (canonical live embed URL and thumbnail PNG URL) scoped to a single preset, so the agent knows exactly what comes back. It hints at sibling differentiation by contrasting with building a 'full share URL' (build_share_url), though it doesn't name the sibling outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use context: 'when you want to render an inline preview without building a full share URL,' which implicitly routes away from build_share_url toward this tool. There are no explicit exclusions, prerequisites, or named alternatives, so it stops short of the top band.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.2.0- First observed
build_share_url - First observed
embed_snippet - First observed
find_presets - First observed
list_presets - First observed
preview_url - First observed
read_share_url
TDQS
Scored across 6 tools
List vs find presets are distinct (all vs keyword search), and build vs read share URL are clearly construct/update vs decode. Embed_snippet and preview_url both relate to embedding but one generates code and the other returns a URL/thumbnail. Minor overlap: build_share_url also returns an embed_url, which preview_url also provides, so an agent might occasionally confuse the two.
All tool names use consistent snake_case and mostly follow a verb_noun pattern (list_presets, find_presets, build_share_url, read_share_url). Embed_snippet and preview_url are slightly less action-oriented but still fit the same convention.
Six tools is well-scoped for preset discovery, link building/decoding, embed generation, and preview. Each tool earns its place with no obvious redundancy or missing count pressure.
The surface covers preset listing/search, share URL construction/decoding, embed snippet generation, and preview URL retrieval. A notable gap is the absence of a tool to enumerate available customization settings for build_share_url, forcing agents to infer parameter names from examples or existing links.
Related MCP Connectors
An MCP server for deep research or task groups
Related MCP Servers
- MIT
- Apache 2.0
- MIT
- MIT