Upstash MCP Server for LlamaIndex 23 tools — connect in under 2 minutes
LlamaIndex specializes in data-aware AI agents that connect LLMs to structured and unstructured sources. Add Upstash as an MCP tool provider through Vinkius and your agents can query, analyze, and act on live data alongside your existing indexes.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
import asyncio
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
async def main():
# Your Vinkius token. get it at cloud.vinkius.com
mcp_client = BasicMCPClient("https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp")
mcp_tool_spec = McpToolSpec(client=mcp_client)
tools = await mcp_tool_spec.to_tool_list_async()
agent = FunctionAgent(
tools=tools,
llm=OpenAI(model="gpt-4o"),
system_prompt=(
"You are an assistant with access to Upstash. "
"You have 23 tools available."
),
)
response = await agent.run(
"What tools are available in Upstash?"
)
print(response)
asyncio.run(main())
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About Upstash MCP Server
Connect your Upstash Redis database to any AI agent and interact with your serverless data store through natural conversation — no Redis CLI needed.
LlamaIndex agents combine Upstash tool responses with indexed documents for comprehensive, grounded answers. Connect 23 tools through Vinkius and query live data alongside vector stores and SQL databases in a single turn. ideal for hybrid search, data enrichment, and analytical workflows.
What you can do
- Health Checks — Ping your database to verify connectivity and inspect server health
- String Operations — Get, set and delete key-value pairs with optional TTL management
- Hash Management — Store and retrieve structured data as field-value pairs within hash keys
- List Operations — Push, pop and range elements from Redis lists for queue and stack patterns
- Set Operations — Add, remove and query set membership for unique collections
- Key Discovery — List keys by pattern, check existence, inspect data types and view TTL values
- Numeric Operations — Increment and decrement counters atomically
- Pub/Sub Messaging — Publish messages to channels for event-driven architectures
- Pipeline Execution — Execute multiple commands in a single HTTP request for batch operations
The Upstash MCP Server exposes 23 tools through the Vinkius. Connect it to LlamaIndex in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect Upstash to LlamaIndex via MCP
Follow these steps to integrate the Upstash MCP Server with LlamaIndex.
Install dependencies
Run pip install llama-index-tools-mcp llama-index-llms-openai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token
Run the agent
Save to agent.py and run: python agent.py
Explore tools
The agent discovers 23 tools from Upstash
Why Use LlamaIndex with the Upstash MCP Server
LlamaIndex provides unique advantages when paired with Upstash through the Model Context Protocol.
Data-first architecture: LlamaIndex agents combine Upstash tool responses with indexed documents for comprehensive, grounded answers
Query pipeline framework lets you chain Upstash tool calls with transformations, filters, and re-rankers in a typed pipeline
Multi-source reasoning: agents can query Upstash, a vector store, and a SQL database in a single turn and synthesize results
Observability integrations show exactly what Upstash tools were called, what data was returned, and how it influenced the final answer
Upstash + LlamaIndex Use Cases
Practical scenarios where LlamaIndex combined with the Upstash MCP Server delivers measurable value.
Hybrid search: combine Upstash real-time data with embedded document indexes for answers that are both current and comprehensive
Data enrichment: query Upstash to augment indexed data with live information before generating user-facing responses
Knowledge base agents: build agents that maintain and update knowledge bases by periodically querying Upstash for fresh data
Analytical workflows: chain Upstash queries with LlamaIndex's data connectors to build multi-source analytical reports
Upstash MCP Tools for LlamaIndex (23)
These 23 tools become available when you connect Upstash to LlamaIndex via MCP:
decr
If the key does not exist, it is initialized to 0 before the operation. Returns the new value after decrementing. Decrement a numeric value in Upstash Redis
del
Returns 1 if the key was deleted, 0 if it did not exist. WARNING: this operation is irreversible. Delete a key from Upstash Redis
exists
This is a lightweight way to check key presence without retrieving the value. Check if a key exists in Upstash Redis
expire
The key will be automatically deleted when the TTL reaches zero. Returns 1 if the timeout was set, 0 if the key does not exist. Set a TTL on a key in Upstash Redis
get
Returns null if the key does not exist. This is the primary read operation for string data. Get a value from Upstash Redis
hget
Returns null if the key or field does not exist. Get a field value from a Redis hash
hgetall
Returns an object with all fields and their values. Returns an empty object if the key does not exist. Get all fields and values from a Redis hash
hset
If the key does not exist, a new hash is created. If the field already exists, its value is overwritten. Returns the number of fields added (1 for new, 0 for updated). Set a field in a Redis hash
incr
If the key does not exist, it is initialized to 0 before the operation. Returns the new value after incrementing. Increment a numeric value in Upstash Redis
key_type
Get the data type of a key in Upstash Redis
list_keys
Use "*" for all keys, "prefix:*" for keys with a prefix, or "*:suffix" for suffix matching. WARNING: KEYS can be slow on large databases — use sparingly. List keys in Upstash Redis
llen
Returns 0 if the key does not exist. Get the length of a Redis list
lpush
If the key does not exist, a new list is created. Returns the length of the list after the push. Push values to the left of a Redis list
lrange
Use 0 as start and -1 as stop to get all elements. Positive indices count from the head (0 = first), negative indices count from the tail (-1 = last). Get a range of elements from a Redis list
pipeline
Commands are sent as a JSON array of arrays, e.g. [["SET","k1","v1"],["GET","k1"],["INCR","counter"]]. Returns an array of results in the same order. Note: the pipeline is NOT atomic (other commands may interleave) — use /multi-exec for atomicity. WARNING: this is a powerful tool — review commands carefully before execution. Execute multiple commands atomically via Upstash pipeline
publish
Returns the number of subscribers that received the message. This is a fire-and-forget operation — subscribers must be actively listening. Publish a message to a Redis channel
rpush
If the key does not exist, a new list is created. Returns the length of the list after the push. Push values to the right of a Redis list
sadd
Duplicate members are ignored. If the key does not exist, a new set is created. Returns the number of members that were added. Add members to a Redis set
set
Optionally set an expiry time in seconds using the ex parameter. Overwrites any existing value at the key. Returns "OK" on success. This is the primary write operation for string data. Set a value in Upstash Redis
sismember
This is a fast O(1) membership check. Check if a member is in a Redis set
smembers
Returns an array of all unique members. Returns an empty array if the key does not exist. Get all members of a Redis set
srem
Non-existent members are ignored. Returns the number of members that were removed. Remove members from a Redis set
ttl
Returns -1 if the key has no expiry, -2 if the key does not exist. Get the TTL of a key in Upstash Redis
Example Prompts for Upstash in LlamaIndex
Ready-to-use prompts you can give your LlamaIndex agent to start working with Upstash immediately.
"Check if my Upstash Redis database is responding."
"Set a feature flag called 'dark_mode' to true for user 'user123' with a 1 hour expiry."
"Show me all keys matching the pattern 'session:*' and check their data types."
Troubleshooting Upstash MCP Server with LlamaIndex
Common issues when connecting Upstash to LlamaIndex through the Vinkius, and how to resolve them.
BasicMCPClient not found
pip install llama-index-tools-mcpUpstash + LlamaIndex FAQ
Common questions about integrating Upstash MCP Server with LlamaIndex.
How does LlamaIndex connect to MCP servers?
Can I combine MCP tools with vector stores?
Does LlamaIndex support async MCP calls?
Connect Upstash with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect Upstash to LlamaIndex
Get your token, paste the configuration, and start using 23 tools in under 2 minutes. No API key management needed.
