Skip to content

Repository files navigation

Dinos MCPServer - Version 1.0.1

DMCPServer


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

or Tools > Options > Language > Delphi > Library > Library Path Add path 'source' this project

⚙️ Protocol

ProtocolSupported
HTTP
STDIO

Tested Delphi version

VersionSupported
> 10.x
> 11.x
> 12.x
> 13.X

🚀 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;
begintrytry// Extract parameters
Location := Params.GetParam('location');
EnableLog := Params.GetParam('EnableLog', trBool);
// Validation of required parametersif 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 dobegin// 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;

image 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

image

image

In mcpServers node, attach your MCPServer(STDIO)

image

To HTTP:

image

Flow

image

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:

Star History

Star History Chart

About

Dinos MCP Server, make your code, on MCP Action and execute by AI

Topics

Resources

Stars

37 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages