glif-mcp-server
by glifxyz
The glif-mcp-server allows running AI workflows from glif.app. It provides tools for running glifs, managing bots, and accessing glif metadata through the Model Context Protocol (MCP).
Last updated: N/A
glif-mcp-server
MCP server for running AI workflows from glif.app.
This server provides tools for running glifs, managing bots, and accessing glif metadata through the Model Context Protocol (MCP).
This server also allows for customizing all the tools available via add-tool, remove-tool etc meta-tools, including lot full glif agents as a set of tools (and personality). This is highly experimental.
For more info check out https://glif.app or join our Discord server: https://discord.gg/glif
Features
- Run glifs with inputs
- Get detailed information about glifs, runs, and users
- Access glif metadata through URI-based resources
Setup
Running via npx (recommended)
If you have nodejs installed, you can run our @glifxyz/glif-mcp-server package via npx:
-
Get your API token from https://glif.app/settings/api-tokens
-
Add the server in your Claude Desktop config file. On macOS this is:
~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "glif": { "command": "npx", "args": ["-y", "@glifxyz/glif-mcp-server@latest"], "env": { "GLIF_API_TOKEN": "your-token-here" } } } }
Running from a local checkout
First, checkout this code and install dependencies.
git clone https://github.com/glifxyz/glif-mcp-server
cd glif-mcp-server
npm install
npm run build
# there's now a build/index.js file which is what we'll run next
Then configure your MCP client (e.g. Claude Desktop) to load this server from disk.
{
"mcpServers": {
"glif": {
"command": "node",
"args": ["/path/to/glif-mcp/build/index.js"],
"env": {
"GLIF_API_TOKEN": "your-token-here"
}
}
}
}
You can also specify glifs IDs (comma-separated) which will be loaded automatically when the server starts. This is useful for testing or if you want to share a pre-made glif configuration with someone else.
{
"mcpServers": {
"glif": {
"command": "node",
"args": ["/path/to/glif-mcp/build/index.js"],
"env": {
"GLIF_API_TOKEN": "your-token-here",
"GLIF_IDS": "cm2v9aiga00008vfqdiximl2m,cm2v98jk6000r11afslqvooil,cm2v9rp66000bat9wr606qq6o",
"IGNORE_SAVED_GLIFS": true,
}
}
}
}
Run remotely with Smithery
To install glif-mcp for Claude Desktop automatically via Smithery, which hosts and runs the MCP server for you:
npx -y @smithery/cli install @glifxyz/glif-mcp-server --client claude
Usage Limits
- Subject to same limits as user accounts
- Purchase more credits at https://glif.app/pricing
Resources
glif://{id}
- Get glif metadataglifRun://{id}
- Get run detailsglifUser://{id}
- Get user profile
Tools
General Glif Tools
run_glif
- Run a glif with the specified ID and inputsglif_info
- Get detailed information about a glif including input fieldslist_featured_glifs
- Get a curated list of featured glifssearch_glifs
- Search for glifs by name or description
Bot Tools
list_bots
- Get a list of featured bots and sim templatesload_bot
- Get detailed information about a specific bot, including its skillssave_bot_skills_as_tools
- Save all skills from a bot as individual tools
User-specific Tools
my_glifs
- Get a list of your glifsmy_glif_user_info
- Get detailed information about your user account, recent glifs, and recent runs
Glif->Tool Tools (metatools)
save_glif_as_tool
- Save a glif as a custom toolremove_glif_tool
- Remove a saved glif toolremove_all_glif_tools
- Remove all saved glif tools and return to a pristine statelist_saved_glif_tools
- List all saved glif tools
How to turn glifs into custom tools
We have a general run_glif
tool, but it (a) isn't very descriptive, and (b) requires doing a glif_info
call first in order to learn how to call said glif. Plus, you need to know that glif exists.
We're experimenting with several new meta-tools which turn specific glifs into new standalone tools:
An example prompt session:
- what are some cool new glifs?
- [toolcall:
list_featured_glifs
...] - ok i like 1970s sci-fi book cover generator, make that into a tool called "scifi_book_image"
- [toolcall:
save_glif_as_tool glifId=... toolName=scifi_book_image
] - [now user can just type "make sci fi book image of blah"]
You can list these special tools with list_saved_glif_tools
and remove any you don't like with remove_glif_tool
Note that Claude Desktop requires a restart to load new tool definitions. Cline & Cursor seem to reload automatically on changes and requery for available tools
Info about authenticated user's glifs:
my_glifs
- current user's published glifs (no drats)my_liked_glifs
- current user's liked glifsmy_runs
- current user's public runs
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run dev
To run the test suite:
npm run test
And to continuously run tests on changes:
npm run test:watch
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
You can also look at the glif-mcp logs inside the Claude logs directy if you're using Claude Desktop.
MCP registries
<a href="https://glama.ai/mcp/servers/gwrql5ibq2"> <img width="380" height="200" src="https://glama.ai/mcp/servers/gwrql5ibq2/badge" alt="Glif MCP server" /> </a>Development
Releasing a new version
- Edit
package.json
andsrc/index.ts
and bump the version number - Run
npm install
to update the versions stored in the lockfile - Commit and push your changes to GitHub and merge to main
- If you have gh installed, switch to main and run
npm run release
which will create a git tag for the new version, push that tag to github, and usegh release create
to publish a new version with an automatically-generated changelog. If you don't havegh
, you can do the above manually in the GitHub web UI - A GitHub Action will use the
NPM_TOKEN
secret to publish it to NPM
License
This project is licensed under the MIT License - see the LICENSE file for details.