Lspace MCP Server
OfficialServer Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool has a distinct purpose with clear boundaries: add_content for creation, browse for reading files, get_repository_info for configuration, list_history for change tracking, list_repositories for setup, search for querying, and undo for reverting changes. No overlap exists between these functions, making tool selection straightforward.
Naming Consistency5/5All tools follow a consistent 'lspace_verb_noun' pattern with snake_case throughout (e.g., lspace_add_content, lspace_browse_knowledge_base). This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.
Tool Count5/5With 7 tools, the server is well-scoped for managing a knowledge base system. This count covers core operations like CRUD (add, browse, undo), setup (list repositories, get info), and advanced features (search, history) without being overwhelming or insufficient for the domain.
Completeness4/5The tool set provides comprehensive coverage for knowledge base management, including creation, reading, searching, history tracking, and undo functionality. A minor gap exists in direct update or delete operations for specific content, but agents can work around this using undo or re-adding content.
Average 3.8/5 across 7 of 7 tools scored. Lowest: 3.1/5.
See the Tool Scores section below for per-tool breakdowns.
- 0 of 2 community issues answered or closed in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/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 states this is a read operation ('Get'), which implies it's likely safe and non-destructive, but doesn't disclose behavioral traits such as authentication needs, rate limits, error handling, or what 'detailed configuration' entails in terms of output format. This leaves significant gaps for an agent to understand how to use it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It uses an emoji for visual clarity and is front-loaded with the key action and resource. Every word earns its place, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose but lacks details on behavioral aspects like what 'detailed configuration' includes or usage context. Without annotations or output schema, the description should do more to compensate, but it meets a minimum viable standard.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with 'repositoryName' clearly documented as 'The unique name of the repository.' The description adds no additional parameter semantics beyond what the schema provides, such as examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed configuration') and target resource ('for a specific repository'), making the purpose understandable. It distinguishes from siblings like 'lspace_list_repositories' by focusing on a single repository's details rather than listing all repositories. However, it doesn't explicitly mention what 'detailed configuration' includes, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance with 'SETUP' implying this might be used for initial configuration checks, but it doesn't specify when to use this tool versus alternatives like 'lspace_list_repositories' for overviews or other tools for content management. No explicit when-not-to-use or prerequisite information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While it indicates this is a listing operation, it doesn't describe important behavioral traits such as whether the list is paginated, sorted, or filtered; what format the output takes; or any rate limits or authentication requirements. The description is too minimal for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—a single sentence with an emoji prefix for visual clarity. It's front-loaded with the key action and resource, with no wasted words. Every element (the emoji, 'SETUP' context, and core description) serves a purpose in communicating the tool's function efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for effective use. It doesn't explain what the output looks like (e.g., a list of repository names, IDs, or metadata), any limitations (e.g., only active repositories), or behavioral aspects like error handling. For a tool with zero structured metadata, the description should provide more operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100%, so there are no parameters to document. The description appropriately doesn't discuss parameters, which is correct for a parameterless tool. It could potentially mention that no filtering or options are available, but this isn't strictly necessary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all repositories') and resource ('repositories currently managed by Lspace'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from its sibling 'lspace_get_repository_info', which might provide more detailed information about individual repositories rather than a comprehensive list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context with '📋 SETUP:' and 'currently managed by Lspace', suggesting this is for inventory or setup purposes. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'lspace_browse_knowledge_base' or 'lspace_search_knowledge_base', leaving some ambiguity about the best use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and adds valuable behavioral context: it discloses automatic syncing with remote content before searching (ensuring freshness) and provides an example of parameter usage. However, it doesn't mention rate limits, authentication needs, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear emoji icon, capitalized action word, and a single explanatory sentence followed by a concrete example. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 2 parameters, 100% schema coverage, and no output schema, the description is adequate but could be more complete. It explains the core behavior and provides an example, but doesn't describe return format, pagination, or error cases, which would help the agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds minimal value beyond the schema by showing an example parameter combination, but doesn't explain semantics or constraints not already in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Query the knowledge base using natural language' with a specific verb ('search') and resource ('knowledge base'). It distinguishes from siblings like 'lspace_browse_knowledge_base' by emphasizing natural language querying, though it doesn't explicitly contrast with all siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning automatic syncing with remote content and provides an example, but lacks explicit guidance on when to use this tool versus alternatives like 'lspace_browse_knowledge_base' or 'lspace_list_knowledge_base_history'. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool lists changes in a 'human-friendly format' and separates file uploads from knowledge base generations, which adds behavioral context. However, it lacks details on permissions, rate limits, or response format, leaving gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, uses an emoji for visual clarity, and includes a concise example. Every sentence earns its place without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is moderately complete. It covers the tool's purpose and basic behavior but lacks details on output format, error handling, or integration with sibling tools, which could help an agent use it more effectively in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description adds minimal value by mentioning repositoryId in an example, but does not provide additional meaning or usage context beyond what the schema already specifies for parameters like changeType or limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('List all changes') and resource ('knowledge base'), and distinguishes it from siblings by specifying it shows history in 'human-friendly format' with both file uploads and knowledge base generations separately, unlike other tools like lspace_list_repositories or lspace_search_knowledge_base.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (to see history of changes) and includes an example with repositoryId, but does not explicitly state when not to use it or name alternatives among siblings, such as lspace_browse_knowledge_base for current content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool can 'revert knowledge base changes' and lists types of changes (file uploads, KB generations, or both), which implies mutation behavior. However, it lacks details on permissions, reversibility, side effects, or response format, leaving gaps in transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with a clear purpose and followed by concise examples. Every sentence earns its place by reinforcing usage without redundancy, making it efficient and easy to understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, mutation operation) and lack of annotations or output schema, the description is moderately complete. It covers the tool's purpose and usage examples but does not fully address behavioral aspects like error handling or return values, leaving room for improvement in contextual depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by hinting at human-friendly commands in examples, but does not provide additional syntax or format details for parameters. This meets the baseline of 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('revert') and resource ('knowledge base changes'), and distinguishes it from siblings by focusing on undo functionality. It specifies what types of changes can be undone (file uploads, KB generations, or both), which differentiates it from tools like 'lspace_list_knowledge_base_history' (which only lists changes) or 'lspace_add_content' (which adds content).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool by listing examples of undo commands (e.g., 'undo changes for test.txt', 'undo last 3 changes'), implying it's for reverting changes in a knowledge base. However, it does not explicitly state when not to use it or mention alternatives (e.g., using other tools for non-undo operations), which prevents a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates this is a creation/mutation tool ('CREATE: Add content'), which implies it modifies data. However, it lacks details on permissions, error handling, rate limits, or what happens after content is added (e.g., processing time, confirmation). The example helps but doesn't cover behavioral traits comprehensively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with an emoji for visual emphasis, a clear purpose statement, and a practical example—all in two sentences. Every element serves a purpose: the first sentence defines the tool's role, and the second provides actionable context. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, mutation operation) and lack of annotations or output schema, the description is moderately complete. It covers the primary use case and provides an example, but for a tool that likely triggers backend processing (e.g., 'automatic knowledge base generation'), it should mention expected outcomes, processing behavior, or error scenarios to be fully adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description adds minimal value beyond the schema by providing a concrete example with parameter values (e.g., repositoryId='b3fcb584-5fd9-4098-83b8-8c5d773d86eb'), but doesn't explain parameter interactions or semantics not already in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Add content') and resource ('for automatic knowledge base generation'), explicitly identifying it as the PRIMARY tool for adding ANY content to lspace. It distinguishes itself from siblings by emphasizing its role as the main content addition mechanism, unlike browsing, searching, or listing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool: it's the PRIMARY tool for adding ANY content to lspace, with a clear example. It implicitly distinguishes from siblings by focusing on content creation rather than retrieval (e.g., lspace_search_knowledge_base) or management (e.g., lspace_list_repositories).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. It effectively describes key behaviors: read-only operation, automatic syncing before browsing, and the tool's purpose for reading files/directories. However, it doesn't mention potential limitations like rate limits, error handling, or response format details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by key behavioral details and a concrete example. Every sentence adds value: the first states the purpose and read-only nature, the second explains automatic syncing, and the third provides a practical usage example. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is mostly complete. It covers purpose, usage guidelines, and key behavior. However, without an output schema, it doesn't describe return values (e.g., what 'list_directory' or 'read_file' returns), leaving a minor gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds minimal value beyond the schema, providing only an example that illustrates parameter usage without adding new semantic information. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Read existing knowledge base files/directories') and resource ('knowledge base'), distinguishing it from siblings like 'lspace_add_content' (creation) and 'lspace_search_knowledge_base' (searching). The emoji and 'BROWSE' reinforce the read-only browsing function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('read-only' browsing) and when not to ('Use lspace_add_content for content creation'), providing clear alternatives. It also mentions prerequisites ('Automatically syncs with remote before browsing') and references sibling tools ('lspace_list_repositories' to get repository IDs).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/Lspace-io/lspace-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server