Skip to content

Instantly share code, notes, and snippets.

@medhatelmasry
Created September 21, 2025 01:17
Show Gist options
  • Select an option

  • Save medhatelmasry/eba37593411cc379e1ddef2c7e91bdba to your computer and use it in GitHub Desktop.

Select an option

Save medhatelmasry/eba37593411cc379e1ddef2c7e91bdba to your computer and use it in GitHub Desktop.
BeverageTools
[McpServerToolType]
public class BeverageTool
{
private readonly BeverageService _beverageService;
private readonly ApplicationDbContext _db;
public BeverageTool(ApplicationDbContext db)
{
_db = db;
_beverageService = new BeverageService(_db);
}
[McpServerTool, Description("Get a list of beverages and return as JSON array")]
public string GetBeveragesJson()
{
var task = _beverageService.GetBeveragesJson();
return task.GetAwaiter().GetResult();
}
[McpServerTool, Description("Get a beverage by ID and return as JSON")]
public string GetBeverageByIdJson([Description("The ID of the beverage to get details for")] int id)
{
var task = _beverageService.GetBeverageByIdJson(id);
return task.GetAwaiter().GetResult();
}
[McpServerTool, Description("Get beverages by name and return as JSON")]
public string GetBeveragesByNameJson([Description("The name of the beverage to filter by")] string name)
{
var task = _beverageService.GetBeveragesContainingNameJson(name);
return task.GetAwaiter().GetResult();
}
[McpServerTool, Description("Get beverages by type and return as JSON")]
public string GetBeveragesByTypeJson([Description("The type of the beverage to filter by")] string type)
{
var task = _beverageService.GetBeveragesContainingTypeJson(type);
return task.GetAwaiter().GetResult();
}
[McpServerTool, Description("Get beverages by ingredient and return as JSON")]
public string GetBeveragesByIngredientJson([Description("The ingredient of the beverage to filter by")] string ingredient)
{
var task = _beverageService.GetBeveragesByIngredientJson(ingredient);
return task.GetAwaiter().GetResult();
}
[McpServerTool, Description("Get beverages by calories less than or equal to and return as JSON")]
public string GetBeveragesByCaloriesLessThanOrEqualJson([Description("The maximum calories per serving to filter by")] int calories)
{
var task = _beverageService.GetBeveragesByCaloriesLessThanOrEqualJson(calories);
return task.GetAwaiter().GetResult();
}
[McpServerTool, Description("Get beverages by origin and return as JSON")]
public string GetBeveragesByOriginJson([Description("The origin of the beverage to filter by")] string origin)
{
var task = _beverageService.GetBeveragesByOriginJson(origin);
return task.GetAwaiter().GetResult();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment