Skip to main content
Glama

MCP Server

by hburgoyne
embeddings.py1.48 kB
import openai from typing import List, Optional import numpy as np from app.core.config import settings # Set OpenAI API key openai.api_key = settings.OPENAI_API_KEY def get_embedding(text: str) -> Optional[List[float]]: """ Get embedding vector for text using OpenAI's embedding model. Returns a list of floats representing the embedding vector. """ if not text: return None try: # Call OpenAI API to get embedding response = openai.Embedding.create( input=text, model=settings.EMBEDDING_MODEL ) # Extract embedding from response embedding = response['data'][0]['embedding'] return embedding except Exception as e: print(f"Error getting embedding: {e}") return None def calculate_similarity(embedding1: List[float], embedding2: List[float]) -> float: """ Calculate cosine similarity between two embedding vectors. Returns a float between -1 and 1, where 1 means identical vectors. """ if not embedding1 or not embedding2: return 0.0 # Convert to numpy arrays vec1 = np.array(embedding1) vec2 = np.array(embedding2) # Calculate cosine similarity dot_product = np.dot(vec1, vec2) norm1 = np.linalg.norm(vec1) norm2 = np.linalg.norm(vec2) # Avoid division by zero if norm1 == 0 or norm2 == 0: return 0.0 return dot_product / (norm1 * norm2)

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/hburgoyne/picard_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server