Skip to main content
Glama

Convex MCP server

Official
by get-convex
map.rs1.19 kB
use value::ConvexMap; use super::{ config::ShapeConfig, union::UnionBuilder, Shape, ShapeEnum, }; use crate::{ CountedShapeEnum, ShapeCounter, }; #[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] pub struct MapShape<C: ShapeConfig, S: ShapeCounter> { key: Shape<C, S>, value: Shape<C, S>, } impl<C: ShapeConfig, S: ShapeCounter> MapShape<C, S> { pub fn new(key: Shape<C, S>, value: Shape<C, S>) -> Self { assert_eq!(key.num_values, value.num_values); Self { key, value } } pub fn key(&self) -> &Shape<C, S> { &self.key } pub fn value(&self) -> &Shape<C, S> { &self.value } } impl<C: ShapeConfig> MapShape<C, u64> { pub fn shape_of(map: &ConvexMap) -> CountedShapeEnum<C> { let mut key_builder = UnionBuilder::new(); let mut value_builder = UnionBuilder::new(); for (key, value) in map { key_builder = key_builder.push(Shape::shape_of(key)); value_builder = value_builder.push(Shape::shape_of(value)); } ShapeEnum::Map(Self { key: key_builder.build(), value: value_builder.build(), }) } }

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/get-convex/convex-backend'

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