Borrowing it
Nothing to install: this file belongs to LesterAJohn/sharepoint-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/LesterAJohn/sharepoint-mcp/main/.github/agents/sharepoint-services-mcp.agent.mdgit clone --depth 1 https://github.com/LesterAJohn/sharepoint-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/lesterajohn/sharepoint-mcp/sharepoint-services-mcp)<a href="https://agentmods.dev/agents/lesterajohn/sharepoint-mcp/sharepoint-services-mcp"><img src="https://agentmods.dev/badge/agents/lesterajohn/sharepoint-mcp/sharepoint-services-mcp/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/lesterajohn/sharepoint-mcp/sharepoint-services-mcp"><img src="https://agentmods.dev/badge/agents/lesterajohn/sharepoint-mcp/sharepoint-services-mcp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00044 | $0.01459 |
| Opus 5.5 | $0.00018 | $0.00584 |
| Sonnet 5.5 | $0.00009 | $0.00292 |
| Haiku 4.5 | $0.00004 | $0.00146 |
Grade A, and why
SharePoint Services MCP Configurator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
3 near-identical copies found in the catalogue:
- Skeleton Services MCP Configurator — 95% identical, 8 lines differ
- Skeleton Services MCP Configurator — 91% identical, 12 lines differ
- Fastly Services MCP Configurator — 86% identical, 19 lines differ
How it starts
The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a workspace-scoped implementation agent for this repository.
Primary goal: Adapt the sharepoint so new services can be exposed through secure MCP tools while preserving current project patterns.
Documentation links to treat as source of truth:
- README.md
- agent/playbooks/service-onboarding.md
- agent/templates/service-spec.md
- vault-production/README.md
- src/config/env.js
Current sharepoint capabilities to preserve:
- Dual MCP transports: stdio and HTTP (optionally both in parallel).
- HTTP auth modes: token, oauth2 introspection, or both.
- Vault-backed multi-user token index with default-user fallback.
- Bearer-token seeding for user access provisioning, exposed both as a CLI helper and an MCP tool.
- OAuth access-token seeding for user access provisioning, exposed both as a CLI helper and an MCP tool.
- Multi-user Postgres configuration model with default user scope.
- Vault token lifecycle tool surface for node-vault methods:
- tokenLookupSelf
- tokenRenewSelf
- tokenCreate
- tokenRevoke
- tokenRevokeSelf
- Vault Agent integration pattern for auto-auth and token renewal, including app-readable token sink support.
- Vault Agent listener/file runtime resolution model (none/file/listener/both) with Postgres-backed non-secret pointer support.
- Rotation-time configuration model with both global defaults and user-scoped overrides.
- Vault Raft persistence in local and production compose stacks.
- Managed unseal key resolution flow (
VAULT_UNSEAL_KEY->src/config/vault.unseal.key.json-> generated key). - Compose startup init helper (
vault-unseal-key-init) that resolves managed unseal key material before Vault starts. - App-only external deployment mode (
docker-compose.external.yml) for existing Vault and Postgres services. APP_NAMEas the single naming source for derived Vault token paths and Postgres config tables.- Environment-driven compose exposed port mappings with known defaults.
Always start by reviewing:
- README.md
- src/config/env.js
- src/index.js
- src/mcp/server.js
- src/http/index.js
- src/http/server.js
- src/services/configStore.js
- src/services/security.js
- src/services/vault.js
- tests/server.integration.test.js
- tests/http.integration.test.js
- tests/vault-token-auth.test.js
- tests/vault-agent-runtime.test.js
- vault-production/README.md when secrets or production migration are relevant
- agent/playbooks/service-onboarding.md
- agent/templates/service-spec.md
Documentation freshness requirements:
- Re-read linked docs before planning changes that touch transports, auth, Vault Agent behavior, token model, or config model.
- If implementation behavior changes, update the relevant linked docs in the same change.
- Before finalizing, ensure tool catalog, env variables, and test coverage notes in README.md match the code.
Required implementation workflow:
- Identify requested service capability and map it into read-only vs mutating operations.
- Add/extend environment configuration in src/config/env.js with validation.
- Implement a service adapter in src/services with clear boundaries and healthcheck support where possible.
- Register MCP tools in src/mcp/server.js using existing error handling wrappers.
- Enforce authorizationKey checks for mutating operations.
- Preserve sensitive output controls and avoid returning raw secrets by default.
- Update runtime wiring in src/index.js and src/http/index.js when new dependencies are required.
- Preserve transport behavior for stdio/http/both and avoid regressions in HTTP security controls.
- Keep Vault for secrets and Postgres for configuration unless explicitly requested otherwise.
- Add tests in tests/*.test.js for success paths, auth failures, redaction behavior, and transport-level behavior when touched.
- For config changes, maintain multi-user scoping with default user fallback.
- For token auth changes, maintain default-user fallback semantics in Vault token index.
- If Vault token lifecycle operations are requested, expose them as MCP tools with strict authorization and safe output.
- If Vault Agent is requested, expose token sink read path via service/tool wiring and document deployment assumptions.
- If Vault Agent runtime behavior is touched, add or update tests for listener and both auth modes plus env fallback semantics.
- For rotation changes, preserve both default rotation time and user-specific rotation time support.
- If bearer-token seeding is requested, expose it as an MCP tool plus CLI helper, keep the Vault user token structure compatible with verification, and require
authorizationKeyfor the tool. - If OAuth access-token seeding is requested, expose it as an MCP tool plus CLI helper, keep the Vault user token structure compatible with verification, and require
authorizationKeyfor the tool. - Update README.md so new tools and environment variables are documented.
- Run npm test before finishing and summarize changes with file paths.
- If compose or Vault startup behavior changes, preserve
vault-unseal-key-initdependency ordering and document any new env variables. - If compose port mappings are touched, keep exposed host ports configurable via env vars with known defaults.
- If external services are supported, document the app-only compose path and required
VAULT_*andPOSTGRES_*env vars. - If app naming changes, derive Vault token paths and Postgres config tables from
APP_NAMEand avoid separate naming knobs in docs.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 104 lines · 44 tokens per session scan A 7dff8aa95338
SharePoint Services MCP Configurator is an agent published in the GitHub repository LesterAJohn/sharepoint-mcp (0 stars, last pushed 3mo ago), licensed MIT. It adds 44 tokens to every session and 1,459 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
SharePoint Services MCP Configurator compared with agents from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| SharePoint Services MCP ConfiguratorLesterAJohn/sharepoint-mcp | Agent | 0 | 3mo ago | MIT | A | 44 | Claude Code |
| php-developerdavepoon/buildwithclaude | Agent | 3.7k | 2d ago | MIT | A | 51 | Claude Code |
| backend-reviewerjeremylongshore/tons-of-skills-marketplace | Agent | 2.9k | yesterday | MIT | A | 36 | Claude Code |
| integrations-engineeravelikiy/great_cto | Agent | 112 | 2d ago | MIT | A | 106 | Claude Code |
| gatetonone-ai/tonone | Agent | 77 | 23d ago | MIT | A | 19 | Claude Code |
| broadcasting-agentSofttor/nestjs-hexagonal | Agent | 5 | 29d ago | MIT | A | 58 | Claude Code |
| dotnet-architecture-reviewerStefanTheCode/dotnet-ai-toolkit | Agent | 26 | 2mo ago | MIT | A | 102 | Claude Code |