MCP Embedding Storage Server
Integrates with the AI Embeddings API hosted on Vercel to generate vector embeddings for content storage and enable semantic search through vector similarity matching.
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., "@MCP Embedding Storage Serversearch for information about machine learning basics"
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.
MCP Embedding Storage Server
An MCP server for storing and retrieving information using vector embeddings via the AI Embeddings API.
Features
Store content with automatically generated embeddings
Search content using semantic similarity
Access content through both tools and resources
Use pre-defined prompts for common operations
Related MCP server: OpenAI Vector Store MCP Server
How It Works
This MCP server connects to the AI Embeddings API, which:
Processes content and breaks it into sections
Generates embeddings for each section
Stores both the content and embeddings in a database
Enables semantic search using vector similarity
When you search, the API finds the most relevant sections of stored content based on the semantic similarity of your query to the stored embeddings.
Installation
# Install with npm
npm install -g mcp-embedding-storage
# Or with pnpm
pnpm add -g mcp-embedding-storage
# Or with yarn
yarn global add mcp-embedding-storageUsage with Claude for Desktop
Add the following configuration to your claude_desktop_config.json file:
{
"mcpServers": {
"embedding-storage": {
"command": "mcp-embedding-storage"
}
}
}Then restart Claude for Desktop to connect to the server.
Available Tools
store-content
Stores content with automatically generated embeddings.
Parameters:
content: The content to storepath: Unique identifier path for the contenttype(optional): Content type (e.g., 'markdown')source(optional): Source of the contentparentPath(optional): Path of the parent content (if applicable)
search-content
Searches for content using vector similarity.
Parameters:
query: The search querymaxMatches(optional): Maximum number of matches to return
Available Resources
search://{query}
Resource template for searching content.
Example usage: search://machine learning basics
Available Prompts
store-new-content
A prompt to help store new content with embeddings.
Parameters:
path: Unique identifier path for the contentcontent: The content to store
search-knowledge
A prompt to search for knowledge.
Parameters:
query: The search query
API Integration
This MCP server integrates with the AI Embeddings API at https://ai-embeddings.vercel.app/ with the following endpoints:
Generate Embeddings (
POST /api/generate-embeddings)Generates embeddings for content and stores them in the database
Required parameters:
contentandpath
Vector Search (
POST /api/vector-search)Searches for content based on semantic similarity
Required parameter:
prompt
Building from Source
# Clone the repository
git clone https://github.com/yourusername/mcp-embedding-storage.git
cd mcp-embedding-storage
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Start the server
pnpm startLicense
MIT
Available Tools
2 toolssave-memoryC
Save content to vector database
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The content to store | |
| path | Yes | Unique identifier path for the content | |
| type | No | Content type (e.g., 'markdown') | |
| source | No | Source of the content | |
| parentPath | No | Path of the parent content (if applicable) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Save content to vector database' implies a write operation but reveals nothing about permissions required, whether saves are idempotent, rate limits, error conditions, or what happens if the path already exists. For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is maximally concise with a single, clear sentence that states the core functionality without any wasted words. It's appropriately sized for a tool with good schema documentation and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 5 parameters and no annotations or output schema, the description is insufficient. It doesn't explain what happens after saving (success indicators, returned data), error handling, or the vector database context. The agent lacks critical information needed to use this tool effectively in real scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter information beyond what the schema already provides. With 100% schema description coverage, all 5 parameters are documented in the schema itself. The description doesn't explain relationships between parameters (like how path and parentPath interact) or provide usage examples, so it meets the baseline but adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Save') and target resource ('content to vector database'), making the purpose immediately understandable. However, it doesn't differentiate from its sibling 'search-memory' beyond the obvious verb difference, missing an opportunity to clarify the complementary relationship between save and search operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling 'search-memory' tool, prerequisites for saving content, or any constraints about when saving is appropriate versus other operations. The agent receives no contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-memoryC
Search for information in vector database
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query | |
| maxMatches | No | Maximum number of matches to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions searching a vector database but doesn't describe what happens during search (e.g., similarity matching, ranking), what permissions are needed, whether results are paginated, or error conditions. The description is minimal and lacks important operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence with no wasted words. It's front-loaded with the core functionality. However, this conciseness comes at the cost of completeness, making it somewhat under-specified rather than optimally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a search operation that typically has behavioral nuances (ranking, thresholds, result format), the description is incomplete. It doesn't explain what gets returned, how results are ordered, or any limitations of the search. For a tool with 2 parameters and no structured behavioral hints, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('query' and 'maxMatches') adequately. The description doesn't add any parameter-specific information beyond what's in the schema. Baseline 3 is appropriate when the schema does the heavy lifting for parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search for information in vector database' states a clear verb ('Search') and resource ('vector database'), but it's vague about what specific information is being searched. It distinguishes from the sibling 'save-memory' by being a search rather than save operation, but lacks specificity about the search scope or content type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While it's implied this is for searching stored information (contrasting with 'save-memory' for saving), there's no explicit context about use cases, prerequisites, or limitations. The description doesn't mention when-not-to-use scenarios or alternative approaches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.0- Changed
save-memory2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
search-memory2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
2 tool updates
- First observed
save-memory - First observed
search-memory
TDQS
The two tools have perfectly distinct purposes: one saves content to the vector database, while the other searches for information within it. There is no overlap or ambiguity between these operations, making it impossible for an agent to confuse them.
Both tools follow a consistent verb-noun pattern with hyphenated names (save-memory and search-memory). The verbs 'save' and 'search' clearly indicate the action, and 'memory' serves as a consistent noun, creating a predictable and readable naming convention throughout.
With only two tools, this server feels under-scoped for an embedding storage system. While save and search are core operations, typical vector database interfaces would include additional tools like delete, update, list, or manage collections, making the current set appear thin and incomplete for the domain.
The tool surface is severely incomplete for an embedding storage server. It lacks essential operations such as deleting or updating stored memories, listing available entries, managing collections or namespaces, and performing advanced searches (e.g., by metadata). This will likely cause agent failures when trying to perform full lifecycle management of stored data.
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 Connectors
Ingest, manage, and retrieve documents for RAG-powered AI applications
Persistent memory for AI agents. Search and store durable facts, preferences and decisions.
Hosted persistent memory with semantic search, importance and TTL for AI agents.
Memory system for AI agents with semantic search. Store and recall memories with ease.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables storing and retrieving information using semantic search with Qdrant vector database. Acts as a memory layer for LLMs to persistently store and semantically search through information and metadata.Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables semantic search and document retrieval from OpenAI Vector Store, allowing users to search documents using natural language queries and fetch complete document contents through ChatGPT.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search through structured databases and unstructured content (documents, videos, files) using natural language queries with semantic understanding.MIT
- AlicenseNot gradedqualityCmaintenanceEnables semantic search across indexed documents using vector embeddings. Index GitHub repositories and URLs to perform natural language queries with AI-enhanced contextual results.32MIT
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/ricleedo/Knowledge-EmbeddingAPI-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server