Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Descripción del creador (original en inglés)
Microsoft SharePoint MCP server — access sites, lists, and documents through Microsoft Graph.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
MICROSOFT_CLIENT_IDNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"ms-sharepoint": {
"command": "npx",
"args": [
"-y",
"ms-sharepoint-mcp"
],
"env": {
"MICROSOFT_CLIENT_ID": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add ms-sharepoint --env MICROSOFT_CLIENT_ID=your-value -- npx -y ms-sharepoint-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"ms-sharepoint": {
"command": "npx",
"args": [
"-y",
"ms-sharepoint-mcp"
],
"env": {
"MICROSOFT_CLIENT_ID": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"ms-sharepoint": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ms-sharepoint-mcp"
],
"env": {
"MICROSOFT_CLIENT_ID": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
MICROSOFT_CLIENT_ID envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub 0xka13b, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (1.0.1) llegó al registro hace 5 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Microsoft MCP
Model Context Protocol servers for Microsoft 365.
Calendar · Contacts · OneDrive · Outlook · SharePoint — on the official @modelcontextprotocol/sdk , over stdio or Streamable HTTP.
Each server speaks the real MCP protocol and runs over either transport:
Authorization: Bearer.| | Server | npm package (and binary) | Tools | | :-: | ----------- | ------------------------- | ----: | | | Calendar | ms-calendar-mcp | 9 | | | Contacts | ms-contacts-mcp | 7 | | | OneDrive | ms-onedrive-mcp | 9 | | | Outlook | microsoft-outlook-mcp | 14 | | | SharePoint | ms-sharepoint-mcp | 23 |
All tools are thin wrappers over the Microsoft Graph v1.0 API.
microsoft-mcp/
├── apps/ # one MCP server per Microsoft 365 product │ ├── calendar/ │ ├── contacts/ │ ├── onedrive/ │ ├── outlook/ │ └── sharepoint/ │ └── src/ │ ├── tools.ts # declarative tool definitions (schema + handler) │ └── index.ts # run({ name, version }, tools) └── packages/ # shared building blocks ├── core/ # MCP server bootstrap + dual transport (stdio / HTTP) ├── graph/ # Microsoft Graph HTTP client ├── validation/ # id / path / query sanitizers └── logger/ # structured JSON logging (stderr-only — stdio-safe)
A server is just a list of tools handed to run():
// apps/calendar/src/index.ts
import { run } from "@microsoft-mcp/core"; import { tools } from "./tools.js";
void run({ name: "microsoft-calendar", version: "1.0.0", title: "Microsoft Calendar" }, tools);
// a single tool
defineTool({ name: "get_event", description: "Get a single calendar event by ID.", inputSchema: { event_id: z.string().describe("Event ID") }, confirmationPolicy: "never", handler: ({ graph }, { event_id }) => { validateId(event_id, "event_id"); return graph.request("GET", /me/events/${event_id}); }, });
confirmationPolicy ("always" for mutating/destructive tools, "never" for read-only) is surfaced to clients as MCP readOnlyHint / destructiveHint annotations.
corepack enable)pnpm install
pnpm build # build all servers (turbo) -> apps/*/dist/index.js pnpm check-types # typecheck everything
pnpm test # run the vitest suite once
pnpm test:watch # watch mode pnpm test:coverage # run with a v8 coverage report (-> coverage/)
Tests live next to the code as *.test.ts and run on TypeScript source directly (no build step). The shared packages/* are covered by unit and integration tests — including a full Streamable-HTTP round-trip against a live server — and CI enforces a coverage floor on them. Each apps/* server ships an invariant suite that locks its tool surface (unique snake_case names, valid schemas and confirmation policies).
Every push and pull request to master runs CI: typecheck → build → tests with coverage. The coverage badge is regenerated from the run.
You sign in once with your Microsoft account; the server then caches a refresh token and acquires access tokens silently from then on — no pasting, no 1-hour expiry. Sign-in uses your own Microsoft Entra ID app registration (free) so the servers act on your behalf.
--device-code fallback).| Server | Delegated scopes |
|---|---|
| Calendar | Calendars.ReadWrite |
| Contacts | Contacts.ReadWrite |
| OneDrive | Files.ReadWrite.All |
| Outlook | Mail.ReadWrite, Mail.Send |
| SharePoint | Sites.ReadWrite.All |
All servers also use User.Read. (offline_access is requested automatically for refresh.)
Set MICROSOFT_CLIENT_ID, then run the server's `login` command. A browser opens; after you consent, the token is cached under ~/.config/microsoft-mcp/:
export MICROSOFT_CLIENT_ID=<your-client-id>
npx -y ms-calendar-mcp login # opens the browser npx -y ms-calendar-mcp login --device-code # headless: shows a code to enter
From then on the server refreshes tokens automatically. Use a non-default tenant with MICROSOFT_TENANT_ID (default common).
To bypass the built-in flow, supply a pre-acquired Graph token directly:
MICROSOFT_ACCESS_TOKEN (takes precedence over the cached sign-in). Good for quick tests — mint one with az account get-access-token --resource https://graph.microsoft.com --query accessToken -o tsv.Authorization: Bearer on each POST /mcp request. Each request is stateless with its own token, so callers never share credentials — this is the model for hosted/remote deployments, which handle their own auth.Each server is published to npm and runnable with npx — no clone or build. Sign in once first (npx -y ms-calendar-mcp login, see Authentication), then:
// claude_desktop_config.json
{ "mcpServers": { "microsoft-calendar": { "command": "npx", "args": ["-y", "ms-calendar-mcp"], "env": { "MICROSOFT_CLIENT_ID": " " } } } }
Or point at a local build instead of npm:
{
"command": "node", "args": ["/abs/path/microsoft-mcp/apps/calendar/dist/index.js"], "env": { "MICROSOFT_CLIENT_ID": " " } }
During development you can skip the build and run the TypeScript directly:
MICROSOFT_ACCESS_TOKEN=<token> pnpm --filter ms-calendar-mcp dev
# build first, then:
PORT=3000 node apps/calendar/dist/index.js --http
pnpm --filter ms-calendar-mcp dev -- --http --port 3000
The server exposes POST /mcp (the MCP endpoint) and GET /healthz. Point any Streamable-HTTP MCP client at http://localhost:3000/mcp with an Authorization: Bearer header.
Resolved in this order: --stdio / --http flag → MCP_TRANSPORT=stdio|http → default stdio. HTTP port: --port → PORT → 3000.
| Variable | Used by | Description |
|---|---|---|
MICROSOFT_CLIENT_ID | stdio | Entra ID app (client) ID for sign-in. Required for the login flow. |
MICROSOFT_TENANT_ID | stdio | Tenant for sign-in: common (default), organizations, consumers, or a tenant ID. |
MICROSOFT_ACCESS_TOKEN | stdio | Pre-acquired Graph token; overrides the cached sign-in when set. |
MICROSOFT_MCP_CACHE_DIR | stdio | Override the token-cache directory (default ~/.config/microsoft-mcp). |
MCP_TRANSPORT | both | stdio (default) or http. |
PORT | http | Listen port (default 3000). |
MCP_HTTP_BODY_LIMIT | http | Max request body size (default 50mb) for base64 uploads. |
MCP_DEBUG | both | Any non-empty value enables debug logs (to stderr). |