smugmug-docs-mcp-server
Provides tools to search SmugMug documentation, fetch documentation pages, and make live API calls to SmugMug using stored credentials.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@smugmug-docs-mcp-serversearch SmugMug docs for how to create an album"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SmugMug Docs MCP Server
This project creates a lightweight TypeScript MCP server that wraps the SmugMug API reference docs over stdio and can also call the live SmugMug API using credentials from the local secrets file.
What it provides
The server exposes three tools:
search_smugmug_docs(query)to search a bundled catalog of SmugMug docs topicsfetch_smugmug_doc(input)to fetch content for a docs page or docs pathsmugmug_api_call(path, method, params)to call the live SmugMug API using pre-authorized OAuth credentials
Related MCP server: local-websearch-mcp
Setup
Install Node.js 20+.
Install dependencies:
npm installBuild the server:
npm run buildStart it locally:
npm startRunning it from another project
The package exposes a smugmug-docs-mcp-server binary and ships prebuilt output, so any MCP
client can launch it straight from GitHub without cloning:
npx --yes --package=git+https://github.com/Mark425/smugmug-docs-mcp-server.git#REVISION smugmug-docs-mcp-serverPin REVISION to a specific commit so clients get a reproducible server.
npx re-clones and rebuilds the package on every launch, which takes roughly a minute and will
exceed the startup timeout of some MCP clients. For anything you start regularly, install it once
instead and point the client at the resulting smugmug-docs-mcp-server binary:
npm install -g git+https://github.com/Mark425/smugmug-docs-mcp-server.git#REVISIONtypescript and @types/node stay in devDependencies, and dist/ is committed to the repository
rather than built on install. npm does not install a package's dependencies before running its
prepare script during npm install -g <git-url>, so an install-time build cannot work for this
distribution method. Run npm run build and commit the result whenever you change src/.
Credentials
smugmug_api_call looks for credentials in the following order:
SMUGMUG_API_KEY,SMUGMUG_API_SECRET,SMUGMUG_ACCESS_TOKEN, andSMUGMUG_TOKEN_SECRETenvironment variables.The file named by
SMUGMUG_SECRETS_FILE.secrets.txtinside the directory named bySMUGMUG_WORKSPACE_ROOT.secrets.txtin the current working directory.
The secrets file uses this format:
smug mug api key: YOUR_API_KEY
smug mug secret: YOUR_API_SECRET
smug mug access token: YOUR_ACCESS_TOKEN
smug mug token secret: YOUR_TOKEN_SECRETThe access token and token secret are obtained once through SmugMug's OAuth 1.0a non-web flow:
Request a token from
https://api.smugmug.com/services/oauth/1.0a/getRequestTokenusing your API key and secret.Open the returned authorization URL in a browser and authorize the application.
Enter the six-digit verification code when requesting the access token from
https://api.smugmug.com/services/oauth/1.0a/getAccessToken.
Access tokens do not expire unless revoked. The server uses them to sign each API request and does not perform the interactive authorization flow itself.
Prefer SMUGMUG_SECRETS_FILE over the credential environment variables when configuring an MCP client:
MCP configuration files are typically committed to a repository or stored in a shared user config,
so keeping the credentials in an ignored secrets file avoids checking them in.
Option 4 exists for backwards compatibility, but relying on it is fragile — MCP clients start the
server with whatever working directory they choose, and some (such as GitHub Copilot CLI) provide no
way to set it. Set SMUGMUG_SECRETS_FILE explicitly instead.
For limited public-read endpoints, SmugMug also supports an APIKey query parameter. The live API
tool does not add that parameter automatically; authenticated requests use OAuth.
How to use it in VS Code
This repository includes a VS Code MCP configuration in .vscode/mcp.json, so the server can be launched directly from the workspace.
1. Make sure the server is built
Run:
npm run build2. Open the workspace in VS Code
The server should be discoverable through the MCP configuration in .vscode/mcp.json.
3. Connect the MCP server
In VS Code, use the MCP or chat tool integration to connect to the server defined in .vscode/mcp.json.
Once connected, you can ask the agent to use tools such as:
"Search the SmugMug docs for albums"
"Fetch the SmugMug API overview page"
"Call the live SmugMug API at /api/v2/user"
4. Optional: use your credentials
If you want the live API tool to work, place the complete OAuth credential set in secrets.txt using
the format shown in Credentials.
See Credentials for the other supported locations.
Example tool calls
Search docs
{
"query": "albums"
}Fetch a docs page
{
"input": "tutorial/api-key.html"
}Call the live API
{
"path": "/api/v2/user",
"method": "GET"
}Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceMCP server for using various search tools like Tavily API. Planning to support various search tools (i.e. wiki search, searxng, etc)Last updated3MIT
- Alicense-qualityDmaintenanceSmall Python MCP server that provides web search and page fetching tools via DuckDuckGo, requiring no API key.Last updatedApache 2.0
- Alicense-qualityAmaintenanceA generic, configurable MCP server that makes any MkDocs documentation site searchable and explorable from MCP clients.Last updatedMIT
- Alicense-qualityCmaintenanceLocal MCP server for focused Marten documentation retrieval with caching, search, and progressive narrowing tools.Last updatedMIT
Related MCP Connectors
A basic MCP server to operate on the Postman API.
MCP server for accessing curated awesome list documentation
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
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/Mark425/smugmug-docs-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server