Skip to main content
Glama
MartinCley

SharePoint-Cleyrop MCP

by MartinCley

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct action: authentication flow (start/finish), diagnostics (check_auth, debug_headers), browsing (list_folder, search_sites, list_projects), reading files, and transferring. No two tools have overlapping purposes.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern (e.g., sharepoint_list_folder, sharepoint_login_start, cleyrop_list_projects) with snake_case and clear prefixes for SharePoint vs Cleyrop. No mixing of conventions.

    Tool Count5/5

    With 9 tools covering authentication, browsing, reading, and transfer, the count is well-scoped for the integration domain. Each tool serves a clear need without excess or deficiency.

    Completeness4/5

    The surface covers the primary workflow (authenticate, browse, search, read, and transfer from SharePoint to Cleyrop). Minor gaps exist, such as no write operations to SharePoint (e.g., upload or delete), but these are outside the core purpose.

  • Average 4.2/5 across 9 of 9 tools scored. Lowest: 3/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 16 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.json to 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

  • Behavior1/5

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

    No annotations are present, so the description bears full responsibility. It only states the basic purpose and does not disclose behaviors such as recursion depth, pagination, error handling, or authentication requirements.

    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?

    The description is a single, short sentence with no unnecessary words. It is front-loaded and conveys the core purpose efficiently.

    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?

    Despite having an output schema, the description is too minimal. It does not explain what the output contains (e.g., list of files? subfolders? metadata?) or behavior nuances like depth or sorting. More context is needed for a listing tool.

    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 description coverage is 100%, and the parameter descriptions are detailed (e.g., site accepts IDs, paths, URLs). The tool description adds no extra meaning beyond the schema, so a baseline of 3 is appropriate.

    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 'Liste' and the resource 'contenu d'un dossier d'une bibliothèque SharePoint'. It distinguishes from siblings like sharepoint_read_file (reads a file) and sharepoint_search_sites (searches sites).

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool or when not to. There are no exclusions or alternatives mentioned, leaving the agent without context for selection.

    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?

    No annotations are provided, so the description must fully disclose behavior. It only states the search action and return fields, but omits details like case sensitivity, result limits, pagination, or whether the search is read-only (though likely safe). Minimal transparency beyond the obvious.

    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?

    The description is two sentences with no wasted words. Purpose is front-loaded, and the second sentence adds usage guidance. Concise and efficient.

    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 search tool with an output schema (mentioned in context), the description covers the main purpose, return structure, and usage context. Minor missing details like search behavior or sorting, but overall sufficient.

    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% (the single 'query' parameter has a description identical to the tool description). The description adds no extra meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

    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 tool's verb ('Recherche') and resource ('sites SharePoint par mot-clé'), and specifies what it returns (name and ID). It distinguishes itself from sibling tools that handle folders, files, or authentication.

    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 clear usage scenario: 'Utile quand on ne connaît pas l'URL exacte du site.' It implies when to use (when URL unknown), but does not explicitly exclude alternatives or state when not to use. Still, it offers helpful context.

    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 effectively discloses key behavioral traits: the process involves downloading from SharePoint and re-uploading via SDK, uses temporary files, and handles large files without memory limits. It does not mention authentication or error handling, but given no annotations, this is strong.

    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?

    The description is highly concise: two sentences clearly state purpose and mechanism without extraneous words. Every sentence adds value.

    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?

    Given 6 parameters (3 required) and an output schema, the description covers the core process and critical behavior (temp files, large file support). Minor gaps exist (conflict handling), but overall sufficient.

    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 description coverage is 100%, so the baseline is 3. The description does not add significant meaning beyond the schema; it repeats defaults but does not clarify parameter interplay or format details.

    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 explicitly states the action ('copie un fichier ou un dossier') and the source/destination (SharePoint to Cleyrop). It clearly differentiates from sibling tools like sharepoint_read_file (read-only) and sharepoint_list_folder (listing).

    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 for transferring files/folders but does not explicitly state when to use this tool versus alternatives like sharepoint_read_file. No direct guidance on prerequisites or when not to use it.

    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?

    No annotations are provided, so the description carries the full burden. It indicates that only accessible projects are listed, implying permissions-based filtering. However, it does not disclose behavioral traits like authentication requirements, potential delays, or pagination. Adequate for a simple read-only list, but lacks depth.

    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?

    The description consists of two concise sentences with no waste. It is front-loaded with the primary action and immediately explains the utility.

    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?

    The tool is simple with no parameters and an output schema (as indicated by context). The description covers what it returns and its purpose. Minor gaps exist, such as whether the list is paginated or sorted, but overall it is sufficient.

    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, so the baseline is 4. The description adds no parameter information, but none is needed. Schema coverage is 100%.

    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 that the tool lists accessible Cleyrop projects with id, name, slug. It provides the specific verb 'Liste' and resource 'projets Cleyrop', and distinguishes from siblings by being the only project listing tool.

    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 explicitly states the usage: to retrieve the id or slug for the `transfer_sharepoint_to_cleyrop` parameter. It provides clear context but does not include when-not-to-use or alternative tools.

    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?

    Discloses read-only nature (no import), supported formats, and truncation behavior (max_chars). With no annotations, it carries the full burden well, though could mention authentication 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/5

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

    Four sentences, no fluff. Front-loaded with core action, then use case, formats, and alternative. Every sentence 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?

    Covers key aspects: action, use case, alternative tool, supported formats, truncation. Lacks mention of error handling or permissions, but given output schema exists, it's reasonably complete.

    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 description coverage is 100%, so baseline is 3. Description adds minor context about path relativity and max_chars truncation, but does not significantly enhance 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?

    Clear verb 'lit' (reads) and resource 'fichier SharePoint', explicitly states it does not import into Cleyrop, distinguishing it from sibling tool transfer_sharepoint_to_cleyrop.

    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?

    Explicitly states when to use (for analysis, summarization, querying directly) and when not to (for permanent copying, use transfer_sharepoint_to_cleyrop).

    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 alone must convey behavioral traits. It explicitly states values are masked and no plain text is revealed, which is key for a debug tool that handles sensitive data. It also implies read-only diagnostics. It does not mention any side effects or authentication requirements, but for this simple tool, the disclosure is adequate.

    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?

    The description is two concise sentences. The first sentence states the action, and the second adds the purpose and constraint (masked values). No unnecessary words. It's front-loaded and efficient.

    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?

    Given the tool's simplicity (no parameters, read-only diagnostic), the description is complete. It covers the what, why, and a key behavioral constraint (masked values). An output schema exists, so return values are covered there. The tool's context within the sibling set is clear (debugging authentication headers).

    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 input schema has zero parameters, so schema coverage is trivially 100%. The description does not need to explain parameters, and it correctly omits any. The baseline score of 4 is appropriate as the description adds no extra parameter detail, which is fine.

    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 it lists headers of the current request (values masked), which is a specific and unambiguous purpose. It uses the verb 'lists' and the resource 'headers', making it distinct from sibling tools like sharepoint_login_start or sharepoint_read_file.

    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 specifies a concrete use case: identifying how Cleyrop transmits the SHAREPOINT_REFRESH_TOKEN header. This gives guidance on when to use the tool. However, it does not explicitly mention when not to use it or compare it to sibling tools, so it's slightly lacking in full usage context.

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

  • Behavior5/5

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

    No annotations are provided, so the description fully discloses behavior: returns a URL, code, and login_id; instructs user to enter code in browser; and directs to call 'sharepoint_login_finish' with the login_id afterward.

    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?

    The description is about 6 sentences, clear and front-loaded with purpose. Slightly verbose with repeated examples but well-structured.

    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?

    Given no parameters and an output schema (presumably defined), the description covers the login flow, return values, and necessary next step (calling sharepoint_login_finish). No gaps.

    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 input schema has zero parameters, so no parameter info is needed. The description adds no param details, which is acceptable. Baseline 4 for no parameters.

    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 tool's purpose: starting login/authentication to SharePoint ('Démarre la connexion / l'authentification'). It distinguishes itself from sibling 'sharepoint_login_finish' which is for completing the login.

    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 explicit when-to-use instructions: call directly upon user intent to log in, with examples. It tells not to explain steps or ask user to call function. However, it does not mention alternatives like checking auth status first via 'sharepoint_check_auth'.

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

  • Behavior5/5

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

    With no annotations, the description carries full burden. It transparently details that the tool reads the SHAREPOINT_REFRESH_TOKEN variable, attempts to obtain an Entra ID access token, and returns the exact error if refused. It also clarifies it does not launch a transfer, making behavior clear.

    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?

    The description is two sentences, concise and front-loaded. The first sentence states the purpose, the second adds context and detail. No unnecessary words.

    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?

    Given zero parameters and an existing output schema (context signals indicate its presence), the description is complete. It explains the tool's function, input (env variable), and behavior on error. No further detail needed.

    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, so baseline 4 applies. The description correctly adds no parameter info, as none are needed. Schema coverage is 100% by default.

    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 explicitly states the tool verifies that a configured refresh token gives access to SharePoint. It uses specific verbs ('vérifie') and distinguishes from siblings like sharepoint_login_start/finish and transfer tools by noting it's for diagnosing auth problems without launching a transfer.

    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 clearly indicates when to use the tool ('pour diagnostiquer un problème d'authentification sans lancer un transfert'). It provides context but does not explicitly mention alternatives or exclusions, though the context implies it's for pre-checks.

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

  • Behavior5/5

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

    Discloses that refresh token is stored server-side, user need not copy anything, and connection is auto-retrieved by identity. No annotations provided, so description carries full burden.

    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?

    Well-structured with main purpose first, then imperative instructions. Slightly verbose but clear and front-loaded.

    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?

    Covers usage, success behavior, side effects (token storage), and mentions output schema exists. Adequate for a simple tool.

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

    Parameters5/5

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

    Explains login_id is optional and only for local mode, adding meaning beyond schema's description. Agent knows not to request it from user.

    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?

    Description clearly states the tool finalizes SharePoint login and memorizes user access, distinguishing it from siblings like sharepoint_login_start.

    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?

    Explicitly instructs to call without arguments after user completes browser step, and warns not to ask for login_id. Provides clear context.

    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

Sharepoint-MCP MCP server

Copy to your README.md:

Score Badge

Sharepoint-MCP MCP server

Copy to your README.md:

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/MartinCley/Sharepoint-MCP'

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