Skip to main content
Glama

stelaspace-mcp

stelaspace-mcp MCP server

A local MCP server for publishing HTML files to StelaSpace from coding agents that work with your local files — Claude Code and Codex.

It runs on your machine, so it reads HTML files directly from disk by path and uploads the bytes via the StelaSpace API. That's what lets it publish large (1 MB+) reports and dashboards — unlike passing file contents as a tool argument, which is capped by the model's output size.

Claude Desktop (chat) isn't supported for publishing: its sandbox can't share files with a local MCP server, so it can't upload local reports. Use Claude Code or Codex, where the agent generates the report to disk and publishes it directly.

Tools

  • publish_file{ path, spaceSlug, title?, slug?, tags?, visibility? } → reads the file and returns its permanent URL. Reusing a slug publishes a new version.

  • list_spaces — list the spaces in your team.

  • list_documents{ spaceSlug, query? } — list documents in a space.

Related MCP server: MindOS

Setup

Get an API key from StelaSpace → Settings → API Keys (starts with ss_sk_).

Claude Code

claude mcp add stelaspace --scope user \
  --env STELASPACE_API_KEY=ss_sk_your_key \
  -- npx -y stelaspace-mcp

Codex

~/.codex/config.toml:

[mcp_servers.stelaspace]
command = "npx"
args = ["-y", "stelaspace-mcp"]
env = { STELASPACE_API_KEY = "ss_sk_your_key" }

Then ask the agent to build and publish a report, e.g. "generate the sales dashboard and publish the HTML to my reports space as public."

Environment

  • STELASPACE_API_KEY (required) — your ss_sk_ key.

  • STELASPACE_API_URL (optional) — override the API endpoint. Defaults to https://stelaspace.com; most users never need to set this.

Available Tools

3 tools
list_documentsList documentsA

List documents in a space, optionally filtered by a case-insensitive title search term.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoOptional case-insensitive term to filter documents by title.
spaceSlugYesSlug of the space to list documents from.

TDQS

A3.8/5.0
Behavior3/5

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

Discloses listing behavior and case-insensitive filtering. Lacks details on pagination, ordering, or return format (full documents vs metadata). Without annotations, description carries full burden and is moderately transparent.

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?

Single concise sentence, front-loaded with main action, no unnecessary words.

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

Completeness2/5

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

No output schema, and description omits return format, pagination, or limits. For a listing tool, this is a significant gap reducing completeness.

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 covers both parameters (100% coverage). Description adds 'case-insensitive' which is already in schema; adds no new meaning beyond schema.

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?

Clearly states verb 'List', resource 'documents', scope 'in a space', and optional filter. Distinguishes from siblings (list_spaces for spaces, publish_file for publishing).

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 mentions when to use (listing documents with optional title filter). No explicit when-not-to-use, but sibling tools provide context for alternatives.

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

list_spacesList spacesA

List the spaces in your team. Use a space's slug as the spaceSlug when publishing a document.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It indicates a read-only list operation scoped to the team, which is adequate. No mention of permissions or error states, but for a simple listing, it suffices.

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 brief sentences deliver the purpose and a key usage hint with no wasted words.

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

Completeness3/5

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

The description explains what the tool does and its relation to publish_file, but lacks details about the output format (e.g., fields like slug and name). With no output schema, more detail would improve completeness.

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?

There are no parameters, and schema coverage is 100%. The description adds value by explaining the output's purpose (slug for publishing), which helps the agent use the returned data.

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?

The description clearly states the verb 'List' and resource 'spaces in your team'. It distinguishes from siblings list_documents and publish_file by focusing on spaces.

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?

Provides context by linking spaces to publishing documents, implying use before publish_file. However, it does not explicitly mention when not to use it or alternatives.

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

publish_filePublish an HTML fileA

Upload a local .html/.htm file to a StelaSpace space and get back a permanent, shareable URL. The file is read from disk by path, so large files work fine. Reusing a slug publishes a new version.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the .html/.htm file on this machine (absolute, or relative to the MCP server's working directory).
slugNoDocument slug. Reuse an existing slug to publish a new version; omit to auto-generate.
tagsNoOptional tags for organization and search.
titleNoDocument title. Defaults to the HTML <title> tag.
spaceSlugYesSlug of the target space — call list_spaces to find valid slugs.
visibilityNopublic = anyone with the link; private = team members only. Defaults to private.

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description must fully disclose behavior. It reveals that files are read from disk by path and are suitable for large files, and that slug reuse creates versions. However, it omits error conditions, return format details beyond 'URL', and any authentication or permission requirements. This is adequate but not comprehensive.

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 short, front-loaded sentences: first states overall purpose and output, second addresses a practical concern (file path and large files), third covers versioning behavior. No extraneous information; every sentence serves a purpose.

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 tool with 6 parameters and no output schema, the description covers the core workflow (upload, get URL) and key parameter behaviors (defaults, versioning). It lacks details on what exactly the tool returns (e.g., JSON with URL and metadata) and any error handling, but is otherwise sufficient for basic usage.

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% with good descriptions, but the tool description adds value by explaining how to obtain spaceSlug ('call list_spaces'), the versioning implication of slug, defaults for title and visibility, and the purpose of tags. This enriches parameter understanding beyond the individual schema entries.

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?

The description clearly states the action ('Upload a local .html/.htm file'), the resource ('to a StelaSpace space'), and the output ('get back a permanent, shareable URL'). It is distinct from sibling tools (list_documents, list_spaces) which are purely read-only or listing operations.

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?

The description provides a prerequisite ('call list_spaces to find valid slugs'), mentions versioning behavior ('Reusing a slug publishes a new version'), and notes file size handling ('large files work fine'). However, it does not explicitly state when not to use this tool or discuss alternatives beyond listing spaces.

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. Dates show when Glama detected each change.

  1. 3 tool updatesv1.0.3
    • First observedlist_documents
    • First observedlist_spaces
    • First observedpublish_file

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a distinct purpose: listing documents, listing spaces, and publishing files. There is no overlap between their functionalities.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: list_documents, list_spaces, and publish_file. The naming is clear and predictable.

Tool Count5/5

With 3 tools, the server is well-scoped for a simple document publishing service. The count falls within the ideal 3-15 range, and each tool serves a clear role.

Completeness3/5

The tool set covers listing and publishing but lacks essential operations like deleting documents or retrieving a single document's details. These gaps could hinder common workflows.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/StelaSpace/stelaspace-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server