MARS

mcp
Guvenlik Denetimi
Basarisiz
Health Gecti
  • License — License: MPL-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 398 GitHub stars
Code Basarisiz
  • eval() — Dynamic code execution via eval() in Demos/TailwindcssDemo/www/js/htmx.min.js
  • new Function() — Dynamic code execution via Function constructor in Demos/TailwindcssDemo/www/js/htmx.min.js
  • exec() — Shell command execution in Demos/TailwindcssDemo/www/js/htmx.min.js
  • network request — Outbound network request in docs/package-lock.json
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

REST framework for Delphi: JAX-RS style servers and clients, JWT, OpenAPI 3, FireDAC, SSE, MCP servers for AI agents. Windows, Linux, Docker.

README.md

GitHub release
GitHub commits since latest release
License
Delphi
Platforms

MARS-curiosity logo

MARS-Curiosity: REST library for Delphi

MARS-Curiosity is an open source (MPL 2.0) library to build REST servers and REST clients with Embarcadero Delphi. Endpoints are plain Delphi classes with attributes (JAX-RS style): MARS does routing, parameter binding, JSON serialization, JWT authentication, OpenAPI 3 and hosting, on Windows and Linux.

📖 Documentation: andrea-magni.github.io/MARS · Why MARS? · FAQ · Release notes

type
  TPerson = record
    Name: string;
    Age: Integer;
  end;

  [Path('people'), RolesAllowed('standard')]
  TPeopleResource = class
  public
    [GET, Path('{id}'), Produces(TMediaType.APPLICATION_JSON)]
    function GetPerson([PathParam] id: Integer): TPerson;
  end;
curl -H "Authorization: Bearer $TOKEN" http://localhost:8080/rest/default/people/1
# {"Name":"Andrea","Age":42}

Features

  • Declarative REST resources: [Path], [GET]/[POST]/[PUT]/[PATCH]/[DELETE]/[QUERY], [Produces], [Consumes], path/query/header/cookie/form/body parameters, dependency injection with [Context].
  • JSON to and from records, objects, arrays and datasets, with options per application; YAML and XML writers too.
  • Security: JWT authentication (Bearer header or cookie, key rotation, token renewal), role based authorization ([RolesAllowed], [PermitAll], [DenyAll]).
  • OpenAPI 3 generated from your code, Swagger UI included.
  • FireDAC: return datasets as JSON, apply client deltas, connection pooling via configuration.
  • MCP servers for AI agents: expose Delphi methods and data as Model Context Protocol tools, resources and prompts (Claude, ChatGPT, Copilot, local models), with roles and OAuth 2.1.
  • Server-sent events, HTML and templates (WebStencils, htmx), static files.
  • Logging: JSON request/response logs for Grafana/Loki; client side logging of every request.
  • Client library: RAD components to call MARS and any other REST API, typed records, tokens, async calls, FireDAC dataset sync.
  • Hosting: console, VCL/FMX, Windows service, Linux daemon (systemd, Docker), IIS ISAPI, Apache module, FastCGI; Indy or Delphi Cross Socket with HTTPS. See Deployment.
  • Tooling: setup with IDE integration, TMS Smart Setup, the MARSCmd project bootstrapper, Agent Skills for AI coding agents.

Delphi 10.4 Sydney to Delphi 13 Florence.

Installation

  1. Run the setup of the latest release
  2. Or use TMS Smart Setup (Delphi 10.4 and newer): tms server-enable community true, then tms install andreamagni.mars
  3. More info at documentation page

Get started

Bootstrap with MARSCmd

Run MARSCmd, pick a template (MARSTemplate with Indy, MARSTemplateDCS with Delphi Cross Socket) and a name: you get a ready project group with the server in several flavors, a client and a test project. Then follow Your First Server.

AI Agent Skills

MARS ships Agent Skills for Claude Code and other AI coding agents: scaffold a new server or develop REST APIs (resources, JWT, FireDAC, SSE, MCP, ...) with an AI assistant that knows MARS. From Claude Code:

/plugin marketplace add andrea-magni/MARS
/plugin install mars-curiosity@mars

See the Skills folder or the documentation page for manual installation and usage examples.

Documentation

The documentation site is built with VitePress from the docs/ folder and is published automatically to GitHub Pages on every change.

Forum

Official MARS Curiosity forum at Delphi-Praxis International

Contribution

It would be great if you would like to support this project. It's quite easy, and you can become better at Git, too.

Thanks

Most of the code has been written by the author (Andrea Magni) with some significant contributions by Nando Dessena, Stefan Glienke and Davide Rossi. Some of my customers actually act as beta testers and early adopters. I want to thank them all for the trust and effort.

Related Links

Embarcadero Delphi is a modern, powerful and effective language and development tool. Learn more about it at the following links:

Copyrights

  • The Delphi stylized helmet icon is trademark of Embarcadero Technologies.

Yorumlar (0)

Sonuc bulunamadi