StelaSpace
Officialstelaspace-mcp
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 aslugpublishes 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-mcpCodex
~/.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) — yourss_sk_key.STELASPACE_API_URL(optional) — override the API endpoint. Defaults tohttps://stelaspace.com; most users never need to set this.
Available Tools
3 toolslist_documentsList documentsA
List documents in a space, optionally filtered by a case-insensitive title search term.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional case-insensitive term to filter documents by title. | |
| spaceSlug | Yes | Slug of the space to list documents from. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to the .html/.htm file on this machine (absolute, or relative to the MCP server's working directory). | |
| slug | No | Document slug. Reuse an existing slug to publish a new version; omit to auto-generate. | |
| tags | No | Optional tags for organization and search. | |
| title | No | Document title. Defaults to the HTML <title> tag. | |
| spaceSlug | Yes | Slug of the target space — call list_spaces to find valid slugs. | |
| visibility | No | public = anyone with the link; private = team members only. Defaults to private. |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v1.0.3- First observed
list_documents - First observed
list_spaces - First observed
publish_file
TDQS
Each tool has a distinct purpose: listing documents, listing spaces, and publishing files. There is no overlap between their functionalities.
All tool names follow a consistent verb_noun pattern: list_documents, list_spaces, and publish_file. The naming is clear and predictable.
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.
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
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
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MarkupBase turns AI-generated Markdown and HTML into durable, versioned artifacts that people can review and discuss. Its MCP server lets agents publish new versions, preserve contextual comments, include hosted images, and respond to feedback through secure account-linked identities, creating a clear human review boundary without requiring real-time editing.
Deploy AI-generated HTML/CSS/JS to instant public HTTPS URLs from any MCP-compatible agent.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server that gives AI coding agents on-demand access to private project docs via BM25 ranked search. One setup for Claude Code, Cursor, Codex, Gemini CLI, and more. Docs stay private, never in public repos.1515Apache 2.0
- AlicenseNot gradedqualityAmaintenanceLocal-first knowledge base MCP server. Lets AI agents (Claude Code, Cursor, etc.) read and write your personal knowledge base through 20 MCP tools. Zero cloud dependency — all files stay on your machine.1,758664MIT
- AlicenseBqualityCmaintenanceMCP server for Contextium — pipe team SOPs, coding standards, agents, skills, and workflows directly into Claude, Cursor, and other AI coding assistants.67MIT
- AlicenseNot gradedqualityAmaintenanceA local-first MCP server that helps Claude Code prioritize your work by searching across your tools like GitHub and Slack.7MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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