embed_text
Generate text embeddings using Gemini models to convert text into numerical vectors for semantic analysis and similarity search.
Instructions
Generate embeddings for text using Gemini embedding models
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to generate embeddings for | |
| model | No | Embedding model to use | text-embedding-004 |
Implementation Reference
- src/enhanced-stdio-server.ts:780-816 (handler)The handler function that implements the embed_text tool by calling Google Gemini's embedContent API to generate text embeddings.private async embedText(id: any, args: any): Promise<MCPResponse> { try { const model = args.model || 'text-embedding-004'; const result = await this.genAI.models.embedContent({ model, contents: args.text }); return { jsonrpc: '2.0', id, result: { content: [{ type: 'text', text: JSON.stringify({ embedding: result.embeddings?.[0]?.values || [], model }) }], metadata: { model, dimensions: result.embeddings?.[0]?.values?.length || 0 } } }; } catch (error) { return { jsonrpc: '2.0', id, error: { code: -32603, message: error instanceof Error ? error.message : 'Internal error' } }; } }
- src/enhanced-stdio-server.ts:342-357 (schema)Input schema for the embed_text tool defining parameters: text (required) and model (optional).inputSchema: { type: 'object', properties: { text: { type: 'string', description: 'Text to generate embeddings for' }, model: { type: 'string', description: 'Embedding model to use', enum: ['text-embedding-004', 'text-multilingual-embedding-002'], default: 'text-embedding-004' } }, required: ['text'] }
- src/enhanced-stdio-server.ts:486-487 (registration)Registration in the tools/call handler switch statement dispatching to the embedText method.case 'embed_text': return await this.embedText(request.id, args);
- src/enhanced-stdio-server.ts:339-358 (registration)Tool registration in tools/list response including name, description, and schema.{ name: 'embed_text', description: 'Generate embeddings for text using Gemini embedding models', inputSchema: { type: 'object', properties: { text: { type: 'string', description: 'Text to generate embeddings for' }, model: { type: 'string', description: 'Embedding model to use', enum: ['text-embedding-004', 'text-multilingual-embedding-002'], default: 'text-embedding-004' } }, required: ['text'] } },