A simple Model Context Protocol (MCP) server implementation for Momento Cache.
Available on npmjs as @gomomento/mcp-momento
get- Get the cache value stored for the given key.
- Inputs:
keystring -- the key to look up in the cache.cacheNamestring -- the name cache where the key presides (optional)
- Returns:
Hitwith the found value if the key was found.Missif the key was not found.Errorif the request failed.
set- Sets the value in cache with a given Time To Live (TTL) seconds. If a value for this key is already present, it will be replaced by the new value regardless of the previous value's data type.
- Inputs:
key: string -- the key to set in the cachevalue: string -- the value to set for the given keyttl: integer -- the number of seconds to keep this value in the cache (optional)cacheName: string -- the name of the cache to store the key in (optional)
- Returns:
Successif the key was successfully written to the cache.Errorif the request failed.
list-caches- Lists the names of all the caches in your Momento account.
- Inputs:
- (none)
- Returns:
Successwith a comma separated list of cache namesErrorif the request failed
create-cache- Creates a new cache in your Momento account
- Inputs:
name: string - the name of the cache to create
- Returns:
Successif the cache was successfully createdErrorif the request failed
delete-cache- Deletes a cache from your Momento account
- Inputs:
name: string - the name of the cache to delete
- Returns:
Successif the cache was successfully deletedErrorif the request failed
-
Get a Momento API key from the Momento Console. Note - to run control plane tools (
list-caches,create-cache,delete-cache), you must use a super user API key. -
Set environment variables to configure the cache name and Time To Live (TTL) for items in the cache.
# required export MOMENTO_API_KEY="your-api-key" # optional export MOMENTO_CACHE_NAME="your-cache-name" export DEFAULT_TTL_SECONDS=60
If you do not set these values, it will use mcp-momento as the cache name and 60 seconds for the default time to live.
npx -y @modelcontextprotocol/inspector npx @gomomento/mcp-momento@latestNote: if you're using nodenv, replace the plain npx with the path to your npx binary (e.g. /Users/username/.nodenv/shims/npx).
{
"mcpServers": {
"momento": {
"command": "npx",
"args": [
"-y",
"@gomomento/mcp-momento"
],
"env": {
"MOMENTO_API_KEY": "your-api-key",
"MOMENTO_CACHE_NAME": "your-cache-name",
"DEFAULT_TTL_SECONDS": 60
}
}
}
}-
Install dependencies:
npm install
-
Build the server:
npm run build
-
Run with MCP Inspector
export MOMENTO_API_KEY="your-api-key" npx @modelcontextprotocol/inspector node dist/index.js