Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Turns agent output into versioned web pages, PDFs, Word docs, spreadsheets and Markdown.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http artifactsmith https://artifactsmith.neuralami.ai/mcp --header 'Authorization: Bearer {token}'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"artifactsmith": {
"url": "https://artifactsmith.neuralami.ai/mcp",
"headers": {
"Authorization": "Bearer {token}"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"artifactsmith": {
"type": "http",
"url": "https://artifactsmith.neuralami.ai/mcp",
"headers": {
"Authorization": "Bearer {token}"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account vrijsinghani, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: Authorization
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 20 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
ArtifactSmith is an open source artifact server for AI agents.
Built on the hosted copy from public sources (Ready.gov and the U.S. Bureau of Labor Statistics). The meeting notes are fictional. No sign-up needed to open them.
Agents call it to turn their work into documents: web pages, PDFs, Word files, spreadsheets and Markdown. Each artifact is versioned and stays private until someone shares it, and a shared link can be revoked at any time.
It's for people who run their own agents and want artifacts like the ones in Muse on their own servers.
Try it before you install: https://artifactsmith.neuralami.ai/try. I run a copy you can point your MCP client at. Claude.ai, Claude Desktop, Claude Code and Cursor sign in with OAuth using your email; a pasted token also works. It is capped at 20 builds and runs on my server.
ArtifactSmith gives agents tools to create, edit, export (PDF, Word, Excel, Markdown), share, and revoke documents. It works with any OpenAI-compatible model endpoint. The idea comes from Meta's Muse artifacts.
Requirements: Docker Engine with the Compose plugin. A model key (OpenAI-compatible API or local endpoint) is needed to build pages; publishing ready-made Markdown or HTML works without one.
Cline follows llms-install.md.
cp .env.example .env
./scripts/ensure-local-env.sh docker compose up -d --build
docker compose exec server artifactsmith token add --name agent --workspace alpha
publish stores a page you already wrote and does not call the model, so the next step works when the key is empty. Paste the token printed above, then run this. It prints a share URL.
export AM_TOKEN='paste-the-token'
docker compose exec -T -e AM_TOKEN server python - <<'PY' import asyncio import json import os from datetime import timedelta
from mcp import ClientSession from mcp.client.streamable_http import streamablehttp_client
URL = "http://127.0.0.1:8780/mcp" PAGE = """# Pilot store brief
The pilot store code is HARBOR-17. It is the identifier used on inventory, support, and rollout reports. """
def parse(result): if result.structuredContent is not None: return result.structuredContent return json.loads(result.content[0].text)
async def main(): headers = {"Authorization": "Bearer " + os.environ["AM_TOKEN"]} async with streamablehttp_client(URL, headers=headers) as (read, write, _session): async with ClientSession(read, write) as session: await session.initialize() created = parse( await session.call_tool( "publish", {"display_name": "Pilot store brief", "markdown": PAGE}, read_timeout_seconds=timedelta(seconds=120), ) ) done = parse( await session.call_tool( "status", {"job_id": created["job_id"], "wait": 90}, read_timeout_seconds=timedelta(seconds=120), ) ) if done.get("status") != "done": raise SystemExit(json.dumps(done)) shared = parse( await session.call_tool( "share", {"artifact_id": created["artifact_id"]}, read_timeout_seconds=timedelta(seconds=120), ) ) print(shared["url"])
asyncio.run(main()) PY
The server reads AM_LLM_BASE, AM_LLM_KEY or OPENAI_API_KEY, and AM_DEFAULT_MODEL from .env. The default base is https://api.openai.com. A trailing /v1 on the base is fine; the client appends /v1/chat/completions itself. create needs a key or a local OpenAI-compatible endpoint. With an empty key, a failed create reports that OPENAI_API_KEY / AM_LLM_KEY is empty. Run docker compose up -d again so the change takes effect.
Host ports bind to 127.0.0.1:
http://127.0.0.1:8780/mcp is the MCP API (bearer token required)http://127.0.0.1:8780/app/ is My pages (paste the same token; the browser gets a session cookie)http://127.0.0.1:8781/ is the cookieless preview and share origin (/p/…, /s/…)ghcr.io/vrijsinghani/artifactsmith:0.1.0 is published for linux/amd64 on each release. Building from source (the Compose steps above) stays the default.
Claude.ai: Customize → Connectors → + Add → Add custom connector. Paste https://artifactsmith.neuralami.ai/mcp, select Connect, and sign in with your email. The connector then works in the Claude desktop and phone apps too. Free plans allow one custom connector. On Team and Enterprise plans an owner adds it first.
github.com/vrijsinghani/Artifactsmith is the copy you run yourself. On the hosted copy, Claude Desktop, Claude Code, and Cursor sign in with OAuth at https://artifactsmith.neuralami.ai/mcp. On your own copy they use a token. The MCP endpoint on this machine is http://127.0.0.1:8780/mcp. Send the token from artifactsmith token add as Authorization: Bearer YOUR_TOKEN. The header value starts with Bearer .
ChatGPT Free, Go, and Plus cannot add a custom MCP server. Pro can add one with read and fetch access only, so it cannot build pages. A ChatGPT Business, Enterprise, or Edu admin can add it on the web; it signs in with OAuth.
ChatGPT users can use it from OpenAI's Codex CLI instead: run codex mcp add artifactsmith --url https://artifactsmith.neuralami.ai/mcp, then codex mcp login artifactsmith, and sign in with your email.
Claude Desktop stores the config in claude_desktop_config.json (Settings → Developer → Edit Config). The snippet runs npx and mcp-remote, which needs Node.js. Restart Claude Desktop after saving.
{
"mcpServers": { "artifactsmith": { "command": "npx", "args": ["-y", "mcp-remote", "http://127.0.0.1:8780/mcp", "--header", "Authorization:${AUTH_HEADER}"], "env": { "AUTH_HEADER": "Bearer YOUR_TOKEN" } } } }
Claude Code stores .mcp.json, or run:
claude mcp add --transport http artifactsmith http://127.0.0.1:8780/mcp --header "Authorization: Bearer YOUR_TOKEN"
{
"mcpServers": { "artifactsmith": { "type": "http", "url": "http://127.0.0.1:8780/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } }
Cursor stores ~/.cursor/mcp.json, or .cursor/mcp.json in the project.
{
"mcpServers": { "artifactsmith": { "url": "http://127.0.0.1:8780/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } }
Example prompt: Create a one-page brief named Pilot store brief. Pass this as source_content: The pilot store code is HARBOR-17. It is the identifier used on inventory, support, and rollout reports.
artifactsmith stdio can list tools on stdin and stdout and does not listen. It cannot use the object store or the model, so it cannot build or publish a page.
Compose publishes API (8780) and preview/share (8781) on AM_BIND_ADDRESS (default 127.0.0.1). Cards and links use AM_API_URL, AM_PREVIEW_URL, and AM_SHARE_URL (empty AM_SHARE_URL falls back to AM_PREVIEW_URL). Exposing the ports without TLS puts bearer tokens and artifact content on the wire in cleartext.
Bind on all interfaces (or a specific NIC IP) and point the public URL variables at the address clients will open:
# .env (192.0.2.10 is documentation-range; substitute your LAN IP)
AM_BIND_ADDRESS=0.0.0.0 AM_API_URL=http://192.0.2.10:8780 AM_PREVIEW_URL=http://192.0.2.10:8781 AM_SHARE_URL=http://192.0.2.10:8781 AM_ALLOWED_HOSTS=192.0.2.10:8780,127.0.0.1:8780,localhost:8780
Then docker compose up -d --build. Clients open http://192.0.2.10:8780/mcp and preview/share links use 192.0.2.10, not 127.0.0.1. Browser-based MCP clients also need AM_ALLOWED_ORIGINS set to the page origin.
Share and preview URLs are built from AM_SHARE_URL / AM_PREVIEW_URL when the server returns them. Links you copied before switching to LAN serving still use the old base host; call share again (or copy the URL from inspect / status) after changing those settings.
Keep the host bind on loopback and terminate TLS on nginx or Caddy. Set the public URLs and allow-lists to the external hostname:
# .env
AM_BIND_ADDRESS=127.0.0.1 AM_API_URL=https://artifacts.example.com AM_PREVIEW_URL=https://preview.artifacts.example.com AM_SHARE_URL=https://preview.artifacts.example.com AM_ALLOWED_HOSTS=artifacts.example.com AM_ALLOWED_ORIGINS=https://artifacts.example.com
Minimal Caddy example (API on 443, preview on a second hostname):
artifacts.example.com {
reverse_proxy 127.0.0.1:8780 } preview.artifacts.example.com { reverse_proxy 127.0.0.1:8781 }
Minimal nginx snippet for the API host:
server {
listen 443 ssl; server_name artifacts.example.com;
location / { proxy_pass http://127.0.0.1:8780; proxy_set_header Host $host; proxy_set_header Authorization $http_authorization;
proxy_read_timeout 120s; proxy_send_timeout 120s; } }
When AM_ALLOWED_HOSTS lists only the public hostname, a local curl http://127.0.0.1:8780/mcp gets HTTP 421 (DNS-rebinding protection). Point clients at the proxied hostname instead. Browser-based MCP clients send an Origin header; set AM_ALLOWED_ORIGINS to that origin or the request is rejected.
Point the client at {AM_API_URL}/mcp and send the token as Authorization: Bearer (the value printed once by artifactsmith token add). The header value starts with Bearer . artifactsmith stdio can list tools on stdin and stdout and does not listen. It cannot use the object store or the model, so it cannot build or publish a page. Example:
URL: http://192.0.2.10:8780/mcp
Header: Authorization: Bearer asmb_…
Agents talk to ArtifactSmith over MCP. They pass the user's request as verbatim_request and any research as source_content or source_files. create starts a private build and does not publish a share link. Want a styled page? Pass Markdown to publish and it is styled automati
Only the beginning is shown; read the rest in the repo