Skip to main content
Glama

@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/mcp

Claude (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/mcp

Or 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/mcp

For 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

list_presets

Every shipped look — id, name, blurb, vibe tags, thumbnail URL, embed URL.

find_presets({ vibe })

Fuzzy-find by aesthetic. synthwave → Vapor; print → Halftone / Risograph / Newsprint; glow → Aurora / Bloom.

build_share_url({ look?, share_url?, selection?, dotColor?, ..., config? })

Build customized globe URLs: a studio share URL + an /embed URL. Start from a look, or pass a link as share_url and only the settings to change; everything else in the link is kept.

read_share_url({ url })

Decode a Globestudio link (studio share link, /looks/<id> link or /embed URL) into its look and settings, so an assistant can change a link you paste.

embed_snippet({ look, framework })

Paste-ready code: iframe HTML, react component, or script-tag loader.

preview_url({ look })

Canonical live /embed URL + PNG thumbnail URL for one preset.

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 tools
build_share_urlAInspect

Build Globestudio URLs for a customized globe. Start from a preset (look) or change an existing link (share_url, e.g. one the user pasted): pass only the settings to change and everything else in the link is kept. Returns share_url (opens the studio with those settings) and embed_url (the bare canvas, for iframes).

ParametersJSON Schema
NameRequiredDescriptionDefault
lookNoPreset id, e.g. 'halftone'. Required unless share_url is given.
shapeNo
configNoAny other setting, using the keys read_share_url returns in config, e.g. {"viewMode": "flat"} or {"globeSettings": {"autoSpin": false}}. Nested settings merge key by key; keys Globestudio does not accept come back in ignored.
densityNo
dotColorNoHex color, e.g. '#3df4ff'.
selectionNoRegion: 'world' (default), ISO country code ('JP' or 'JPN'), country name ('Japan'), continent ('Europe'), or subregion ('Western Europe').
share_urlNoA Globestudio link to change instead of starting from a preset.
backgroundNoBackground hex.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does useful work: it discloses merge behavior ('everything else in the link is kept') and names both return values (share_url, embed_url) and their intended use. It stops short of stating error behavior, permission/auth needs, or that the operation has no side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with zero padding; the two usage modes are front-loaded and the return contract is appended last. Every clause adds information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, nested-object tool with no output schema, the description covers both invocation modes, the partial-merge model, and the return values. Remaining detail (enum values, config keys, validation errors) is handled by the schema, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so the schema documents most parameters, but the description adds real meaning: look is a preset starting point, share_url is the alternative starting point, and 'pass only the settings to change' explains the merge semantics of config. It clarifies the mutual-exclusion model that the schema only hints at.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (build) and resource (Globestudio URLs for a customized globe), and clarifies the two input modes. It implicitly distinguishes itself from read_share_url by framing share_url as a link to 'change' rather than read, but it never names a sibling explicitly, so it falls short of the top tier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the two entry points: start from a preset via look, or modify an existing link via share_url, and instructs to pass only the settings to change. It gives clear context but does not mention alternatives such as read_share_url, preview_url, or embed_snippet, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

embed_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).

ParametersJSON Schema
NameRequiredDescriptionDefault
lookYesPreset id.
widthNoNumber of pixels OR string like '100%'.
heightNoNumber of pixels OR string.
frameworkNoiframe

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
vibeYesVibe keyword. Single word or short phrase.

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lookYesPreset id.

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

read_share_urlAInspect

Decode a Globestudio link (a studio share link, a /looks/ link or an /embed URL) into the look and settings it carries. Use it when the user pastes a link, then pass the link as share_url to build_share_url with the changes they ask for.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe Globestudio link, e.g. 'https://globestudio.app/?c=…'.

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It usefully discloses the accepted URL variants and that the result is a decoded look plus settings, but says nothing about failure behavior for malformed/expired links, permission requirements, or the shape of the decoded payload.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, and the purpose and accepted inputs are front-loaded before the workflow guidance. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description still communicates the input contract and roughly what is returned ('the look and settings it carries'). The only gap is that the structure of the decoded look/settings is not characterized, which would matter more for a consumer of the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real value by enumerating the three link formats accepted beyond the schema's single '?c=…' example. This tells the agent the parameter is broader than the schema hint implies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'Decode' plus a named resource, with the three accepted link forms (studio share link, /looks/<id>, /embed URL) enumerated and the payload ('the look and settings it carries') stated. This cleanly distinguishes it from its inverse sibling build_share_url.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('Use it when the user pastes a link') and routes the agent onward to the correct sibling ('pass the link as share_url to build_share_url with the changes they ask for'). The read/rebuild workflow is fully specified without inference.

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.

  1. 6 tool updatesv0.2.0
    • First observedbuild_share_url
    • First observedembed_snippet
    • First observedfind_presets
    • First observedlist_presets
    • First observedpreview_url
    • First observedread_share_url

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

Related MCP Servers