Skip to main content
Glama

CodeGraph CLI MCP Server

by Jakedismo
calculator.rs1.6 kB
#![allow(dead_code)] use rmcp::{ ServerHandler, handler::server::{router::tool::ToolRouter, wrapper::Parameters}, model::{ServerCapabilities, ServerInfo}, schemars, tool, tool_router, }; #[derive(Debug, serde::Deserialize, schemars::JsonSchema)] pub struct SumRequest { #[schemars(description = "the left hand side number")] pub a: i32, pub b: i32, } #[derive(Debug, serde::Deserialize, schemars::JsonSchema)] pub struct SubRequest { #[schemars(description = "the left hand side number")] pub a: i32, #[schemars(description = "the right hand side number")] pub b: i32, } #[derive(Debug, Clone)] pub struct Calculator { tool_router: ToolRouter<Self>, } impl Calculator { pub fn new() -> Self { Self { tool_router: Self::tool_router(), } } } impl Default for Calculator { fn default() -> Self { Self::new() } } #[tool_router] impl Calculator { #[tool(description = "Calculate the sum of two numbers")] fn sum(&self, Parameters(SumRequest { a, b }): Parameters<SumRequest>) -> String { (a + b).to_string() } #[tool(description = "Calculate the sub of two numbers")] fn sub(&self, Parameters(SubRequest { a, b }): Parameters<SubRequest>) -> String { (a - b).to_string() } } impl ServerHandler for Calculator { fn get_info(&self) -> ServerInfo { ServerInfo { instructions: Some("A simple calculator".into()), capabilities: ServerCapabilities::builder().enable_tools().build(), ..Default::default() } } }

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/Jakedismo/codegraph-rust'

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