Dinos MCPServer - Version 1.0.1
Transform your Delphi code into a MCP-server with DMCPServer.
🎯 About
DMCPServer is a master control protocol server developed in Delphi.
⚙️ Installation
Installation is done using the boss install command:
boss install github.com/Daniel09Fernandes/DMCPServer
⚙️ Protocol
| Protocol | Supported |
|---|---|
| HTTP | ✅ |
| STDIO | ✅ |
🚀 Register your Action
var
lCallbackGetWeather : TMCPAction;
begin
lCallbackGetWeather :=
procedure(var Params: TJSONObject; out Result: TDMCPCallToolsResult; out Error: TDMCPCallToolsContent)
var
Location: string;
EnableLog: Boolean;
WeatherService: IWeatherService;
WeatherData: string;
begin
try
try
// Extract parameters
Location := Params.GetParam('location');
EnableLog := Params.GetParam('EnableLog', trBool);
// Validation of required parameters
if Location.Trim = '' then
raise Exception.Create('Location parameter is required');
WeatherService := TMockWeatherService.Create;
WeatherData := WeatherService.GetWeatherData(Location);
if EnableLog then
TDMCPServer.WriteToLog(Format('Weather data requested for %s', [Location]));
// Assemble the result - There's no need to release it from memory; it's done automatically.
Result := TDMCPCallToolsResult.Create;
Result.Content.AddRange(TDMCPCallToolsContent.Create(ptText, WeatherData));
Error := nil;
finally
Params.Free;
end;
except
on E: Exception do
begin
// Handles exceptions. to MCPServers Defaults
Error := TDMCPCallToolsContent.Create(ptText,
'Weather service error: ' + E.Message);
TDMCPServer.WriteToLog('Error in get_weather: ' + E.Message);
Result := nil;
end;
end;
end;
end;
📋 Create and register your server informations
var
lDMCP: IDMCPServerRegister;
begin
lDMCP := TDMCPServerRegister.New
.SetLogs(True); //Set Logs Request
lDMCP
.RegisterAction('get_weather', 'Get current weather information', lCallbackGetWeather)
.ServerInfo
.SetServerName('DinosMCPServer')
.SetVersion('0.1.0')
.Tools(TMCPServerTools.New
.SetName('get_weather')
.InputSchema
.SetType(ptObject)
.SetProperties('location', ptString)
.SetProperties('Conditions', ptString)
.SetProperties('EnableLog', ptBoolean)
.SetRequired(['location'])
.SetAdditionalProperties(False)
.&End);
lDMCP.Run;
end;
To add more resources to LLM memories for use with MCP
.ServerInfo
.SetServerName('DinosMCPServer')
.SetVersion('0.1.0')
.Resources(TMCPServerResources.New
.SetUri('file:///C:/Users/danie/Downloads/teste/fatura-exemplo.csv')
.SetName('Model to create sales order')
.SetDescription('Standard budget template to be followed for sales orders.'))
Attach on Claude AI
Access the configuration on developer and edit config
In mcpServers node, attach your MCPServer(STDIO)
To HTTP:
Documentation
📖 Read the complete documentation here: DMCPServer-docs
🎬 Watch on Youtube DMCPServer - PT-BR
🎬 Watch on Youtube, Full explanation of MCP DMCPServer - EN-US
O componente é totalmente free, se ele foi muito útil para você, que tal me pagar um café para incentivar o projeto?
PIX: