Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
作者提供的说明(英文原文)
Inspect and edit SAP Crystal Reports .rpt files (Windows; needs the Crystal runtime).
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 ashafizullah 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.6)于38天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
English | 中文
An MCP server for SAP Crystal Reports `.rpt` files.
An MCP server that lets AI assistants (Claude Code, Claude Desktop, Cursor, …) read and edit SAP Crystal Reports `.rpt` files.
.rpt is a binary format, so an AI cannot edit it as text. This server wraps the official Crystal Reports .NET runtime (Engine + in-process Report Application Server) and exposes safe, structured edit operations as MCP tools.
| Tool | What it does |
|---|---|
list_reports | List .rpt files in a folder |
inspect_report | Page setup, tables / SQL commands / connections, links, parameters, formulas, selection formulas, groups, sorts, sections and every object (position, text, bound field, font), including conditional formulas hidden in formatting (suppress, color, number format…) |
batch_edit | Run several edit operations with one load, one backup and one save; all-or-nothing |
diff_reports | Structural diff between two reports (e.g. backup vs. edited) |
set_formula / delete_formula | Edit, create or delete formula fields |
set_selection_formula | Record or group selection formula |
add_parameter / set_parameter / delete_parameter | Report parameters; set_parameter changes prompt, type, multiple values or defaults in place, keeping every formula that uses it |
add_group / delete_group | Group on a field (per shift, per day, per month…); returns the new Group Header/Footer sections. Subtotals are formulas like Sum({T.Qty}, {T.Shift}) in the group footer |
add_sort / delete_sort | Record sort (ascending/descending); on a grouped field add_sort flips the group's order |
add_running_total / delete_running_total | Running totals (sum, count, distinct count, average, min, max) evaluated per record, on change of a field/group or on a formula, and reset never / per field / per group / on a formula |
set_command_sql | Replace the SQL of an existing SQL Command table (experimental) |
add_table | Add a database table (OLE DB / ADO, e.g. SQL Server or LocalDB) so its columns can be placed on the report; returns the column list |
set_datasource | Repoint tables to another server/database, optionally switching OLE DB provider (persisted) |
remove_table | Remove a table / command (guarded: refuses while its fields are used unless force) |
set_text | Change a text object's text |
set_text_with_fields | Text with embedded fields, e.g. Shift : {T.Shift} or Page {PageNumber} of {TotalPageCount}, in a new or existing text object |
set_object_props | Position/size, font, color, alignment, suppress, can-grow; for lines/boxes also end point, line style/thickness/color and box fill |
add_line / add_box | Horizontal/vertical lines and boxes (fill, rounded corners), optionally spanning into a later section |
add_picture / replace_picture | Insert an image, or swap a picture (e.g. a logo) keeping its name, position and size |
set_field_format | Number/date/time/boolean format of a field: decimals, thousands & decimal symbols, negatives, currency, zero text, date order/separator, 12/24h… or a custom pattern (#,##0.00, yyyy-MM-dd HH:mm) |
set_condition_formula | Set/clear conditional formulas (suppress, font color, display string, border, number format…) |
set_section_props | Section height, suppress, page breaks, keep-together, background |
add_section / delete_section | Add a section (e.g. a second Detail) or delete one (guarded while it holds objects) |
move_object | Move an object to another section, keeping its name, font, format and conditional formulas |
add_subreport / set_subreport_links | Insert another .rpt as a subreport and link it: main parameter → subreport parameter, or main field → subreport field (filters the subreport, e.g. per group) |
set_page_setup | Paper size (A4, Letter, Legal, … or custom), orientation and margins; returns the printable width |
add_text_object / add_field_object / delete_object | Add or remove report objects; field objects can also show special fields (RecordNumber, PageNumber, TotalPageCount, PageNofM, PrintDate, GroupNumber, FileName…) |
verify_database | Check the report against its database: columns that no longer exist (and what uses them), changed types, logon/provider problems. Never saves |
export_report | Run the report and export to PDF/Excel/Word/CSV/… or to PNG/JPG images (one per page, choose dpi and pages) so an agent can look at the layout itself. Image export renders through the PDF renderer built into Windows 10 / Server 2016+; PNG keeps text sharper and smaller than JPG. Rows can be passed inline (data) for DataSet/XML-based reports or quick previews without a database |
Positions and sizes are in twips (1440 = 1 inch, 567 ≈ 1 cm), Crystal's native unit.
All tools accept subreport to work inside a subreport.
Safety
_rptmcp_backup/ _ .rpt next to it. Pass output_path to write to a new file instead.delete_formula, delete_parameter, delete_running_total and remove_table refuse while the field is still used (field objects, fields embedded in text objects, formulas, selection/conditional formulas, groups, sorts, SQL commands) and list where it is used. force: true deletes the bound objects too. Without this guard, Crystal silently drops every object bound to a deleted formula.net48).rpt-mcp- -win-x64.zip from Releases, unzip it anywhere (e.g. C:\Tools\rpt-mcp), then register rpt-mcp.exe with your MCP client (see below).rpt-mcp- .mcpb from Releases in a client that supports MCP Bundles, such as Claude Desktop.io.github.ashafizullah/rpt-mcp.cd src
dotnet build -c Release
The project references the Crystal assemblies from the GAC (C:\Windows\assembly\GAC_MSIL). If yours are elsewhere, override with dotnet build -p:CrGacMsil= .
For a 32-bit Crystal runtime, build with -p:PlatformTarget=x86.
Run the tests with dotnet test RptMcp.sln -c Release. See CONTRIBUTING.md for the report tests.
Claude Code:
claude mcp add rpt-mcp -- "C:\path\to\rpt-mcp.exe"
Claude Desktop / other clients (mcpServers config):
{
"mcpServers": { "rpt-mcp": { "command": "C:\\path\\to\\rpt-mcp.exe" } } }
Editing does not need a database. export_report, set_command_sql and set_datasource usually do, and add_table always does (Crystal reads the column list from the server). Pass server / database / user / password / integrated directly, or create connections.json next to the exe (or point RPTMCP_CONNECTIONS at it) and pass connection: " ":
{
"dev": { "server": "localhost\\SQLEXPRESS", "database": "Northwind", "integrated": true } }
connections.json is git-ignored; never commit credentials.
C:\reports\Invoice.rpt and change the title to *Tax Invoice*, bold 14pt."{@FullName} = first + last name and put it in the detail section next to the customer code."C:\reports to server SQL02, database SalesProd."dbo.Orders from (localdb)\MSSQLLocalDB, database Sales, to the blank Orders.rpt and put OrderNo and Total in the details section."OrderNo = 1001 so I can check the layout."SQLOLEDB provider, which cannot connect to LocalDB or TLS 1.2-only servers. Use set_datasource with provider: "MSOLEDBSQL" (Microsoft OLE DB Driver for SQL Server) to fix that.set_command_sql can only edit a command that already exists, and it has not yet been verified against a report containing one.add_table adds tables without links; when a report has several tables, Crystal cross-joins them. Adding table links is not supported yet.double, and draws dashed/dotted lines as hairlines. Pictures are stored as bitmaps (transparency is flattened to white).SaveAs fails with "No error"), so add_field_object shows {#Name} through a formula {@Name} whose text is {#Name}. delete_running_total removes that formula too..rpt first (e.g. copy a report and trim it with these tools) and inserted with add_subreport. Subreport objects cannot be moved to another section; insert them where they belong.export_report still needs the values passed in parameters.set_command_sql and set_datasource go through Crystal's table-location API, which connects to the database to validate the schema.JSON-RPC 2.0 over stdio (newline-delimited). This is implemented by hand because the Crystal runtime only runs on .NET Framework. Logs go to stderr.
只显示了开头部分;其余内容请在仓库中阅读