REPORTS FOR YOUR AGENT
从数据分析,
到专业报告。
将 AlgForce AI 连接到你的 Agent,把已核实的数据与洞察转化为可视化报告。实时预览,在线编辑,交付给团队与客户。
AlgForce AI MCP 是面向 AI Agent 的数据报告生成服务。Agent 完成数据分析后,通过两个 MCP 工具创建可视化报告、查询生成状态并获取实时预览链接。
Streamable HTTP·OAuth·生成与查询两个工具
Q3 PERFORMANCE REVIEW
稳定投入,持续改善的回报
$30k
投放金额
$105k
归因收入
3.50x
ROAS
月度归因收入(USD)· 固定 7 日点击归因窗口
先验证渠道差异与归因口径,再决定下一步预算。
在熟悉的 Agent 中分析
由 Agent 读取文件、核实计算与结论。
生成中即可查看
创建后立即返回报告链接,逐步呈现内容。
继续编辑与交付
登录官网编辑器调整内容并使用导出功能。
GET STARTED
三步开始你的第一份报告
准备官网账号、可用工作区,以及支持远程 MCP 与浏览器授权的客户端。MCP 提供工具,Skill 指导报告流程。
添加 MCP 服务
在客户端填写右侧服务地址,传输方式选择 Streamable HTTP。WorkBuddy 已在测试环境完成验证。
授权并开始使用
按客户端提示登录、选择工作区。发现 create_report 和 get_report 后,提供数据文件并描述你希望生成的报告。
https://www.algforce.com/mcp
WorkBuddy JSON 配置
{
"mcpServers": {
"algforce-reports": {
"type": "streamableHttp",
"url": "https://www.algforce.com/mcp",
"timeout": 30000
}
}
}也可以让 Agent 帮你完成接入
复制英文指令给 Agent。是否能自动配置取决于客户端能力,浏览器授权仍由你完成。
Read https://www.algforce.com/mcp.md, including its complete report Skill and outline reference. Follow https://skillhub.cn/install/skillhub.md and install @org-9c0xwtir/algforce-report-v1 from https://skillhub.cn/skills/org-9c0xwtir/algforce-report-v1 in this client's supported skills directory, preserving its references, and configure AlgForce AI MCP at https://www.algforce.com/mcp using Streamable HTTP. Guide me through browser OAuth and workspace selection. Verify connection by listing tools; do not create a report until I request one. If persistent Skill installation is unsupported, follow the complete guide in this conversation and explain that it is not installed. If MCP configuration or OAuth is unsupported, explain the supported manual steps and stop before tool calls. Never claim success without verifying the exposed tools.
CLIENT GUIDES
选择你的客户端
WorkBuddy
已完成测试环境连接与报告生成验证
查看接入方法 →
Codex
依据官方文档;尚未完成本服务联调
查看接入方法 →
Claude Code
依据官方文档;尚未完成本服务联调
查看接入方法 →
Hermes Agent
依据官方文档;尚未完成本服务联调
查看接入方法 →
OpenClaw
依据官方文档;尚未完成本服务联调
查看接入方法 →
官方资料核对日期: · WorkBuddy 实测未记录准确版本,其他客户端尚需联调。
REPORT SKILL
让 Agent 掌握报告工作流
从分析和大纲,到生成、状态跟踪与报告展示。Skill 指令为英文,报告可以使用你指定的语言。
在 SkillHub 安装@org-9c0xwtir/algforce-report-v1 · v1.0.0
Follow https://skillhub.cn/install/skillhub.md to install @org-9c0xwtir/algforce-report-v1 from SkillHub (https://skillhub.cn/skills/org-9c0xwtir/algforce-report-v1) in this client's supported skills directory, preserving references/. Determine the correct directory for this Agent. Follow the client's permission requirements and explain unsupported steps. Restart or reload the client if needed. If persistent installation is unsupported, explain that limitation and use the complete instructions from the MCP introduction page for the current conversation instead; do not claim the Skill is installed. Installing the Skill does not configure MCP or complete OAuth.
使用 SkillHub CLI
将示例目录替换为 Agent 的实际技能目录,必要时重新加载客户端。
skillhub install '@org-9c0xwtir/algforce-report-v1' --dir '/path/to/your/agent/skills'官方安装指南TOOL REFERENCE
两个工具,一条交付流程
试试这样开始
Agency 客户汇报
分析这份客户投放数据,生成 3 页报告,说明投入、回报、数据口径和下一步行动。
销售经营复盘
基于这份销售表,核对收入与增长率,分析地区差异,生成面向管理层的数据报告。
管理层业务简报
将这些已核实的经营指标整理成汇报,突出主要变化、证据、局限和优先行动。
SYNTHETIC DEMONSTRATION
看看三页客户报告如何完成
从月度投放数据,核对季度投入 30,000 USD、归因收入 105,000 USD 和 ROAS 3.50x,再组织概览、数据口径与行动三页报告。含完整可复制大纲,全部数据为合成示例。
给 Agent 的完整指南
/mcp.mdAgent quick start
Read https://www.algforce.com/mcp.md for the full Skill, outline format, tool arguments, and synthetic example. Install via SkillHub if supported; otherwise follow the complete guide in the current conversation without claiming persistent installation. Configure MCP, let the user complete OAuth and workspace selection, then discover the actual tools.
Only create when requested. Send outline and optional locale; do not send title, workspace_id, idempotency_key, or upload parameters. Save job_id, show the exact report_url, and poll serially using poll_after_seconds. Stop on completed or failed. After a creation timeout without job_id, submission is uncertain: ask before recreating. Open previews internally only when an actual client tool supports it.
查看完整英文 Skill
name: algforce-report description: Analyze user-provided data or a report topic, prepare an AlgForce report outline, and create and track the report through the AlgForce MCP tools. Use when a user asks for an AlgForce data analysis report or wants to track one.
AlgForce Data Analysis Reports
Use the current client's file-reading, computation, and web-search capabilities to complete the analysis. AlgForce generates reports from the resulting outline. This Skill orchestrates only two MCP tools: create_report and get_report.
These instructions are written in English. User-facing replies and report content should follow the user's requested language; the instruction language does not require English report content.
Tool Contract
| Tool | Parameters | Result |
|---|---|---|
create_report | Required outline: a nonempty Markdown string following the outline reference. Optional locale: a string, default zh-CN. | job_id, status: "running", report_url, and poll_after_seconds. |
get_report | Required job_id: the string returned by creation. | status, stage, page counts, report_url, and completion or failure details. |
Create using {"outline":"<complete Markdown following references/outline-format.md>","locale":"en"}. The outline text in this example is a placeholder: replace it with the complete analyzed report outline. Query using {"job_id":"<returned job_id>"} and replace the placeholder with the actual returned value.
A creation result has the form {"job_id":"<job UUID>","status":"running","report_url":"<actual preview URL>","poll_after_seconds":15}. Status results also include operation, stage, completed_pages, pages_started, total_pages, report_id, share_url, error_code, and error_message; some values can be null. poll_after_seconds is null after the job ends. Only completed proves success; failed ends tracking with an error. Do not call an editing tool: none is exposed by this connector.
Invalid parameters return a tool error with error_code: "INVALID_ARGUMENT" and message. Correct the parameters before retrying. After a creation timeout, use the known job ID if one was returned; if no ID was received, explain that submission is uncertain and ask before creating another job.
Analysis and Outline
- Determine the audience, business question, time range, metrics, grouping, and intended decision from the user's goal. Ask when an essential metric definition is missing; make explicit assumptions for other details when supported by the files. If the user requests analysis only, deliver the analysis without calling the report creation tool.
- Read user-uploaded files through the current client. Check field meanings, record grain, time ranges, units, missing values, and duplicates. Use available computation tools for aggregation, comparisons, trends, and relevant group analysis. Verify the baseline, denominator, and sample scope for year-over-year or period-over-period calculations. Search the web only when external context is needed, and record sources and dates. Explain data limitations rather than inventing values or causes.
- Build a narrative from question and definitions to key findings, evidence and possible causes, and recommendations. Include verified metrics, units, time ranges, and aggregated chart data in
outline; do not upload raw detail files. Put sources, definitions, and uncertainty on the relevant outline pages. No separateevidencefield is needed. - Before creating a report, write the complete outline according to references/outline-format.md and check its format, numbers, and charts. The report name is extracted automatically from the outline's
# Main title. Briefly explain the analysis approach and planned report if useful. When the user has already requested report creation, do not add a separate outline approval step.
Creation and Tracking
- Use the workspace selected on the OAuth consent page for the current connection. Tool calls do not require
workspace_id. If the connection is unauthorized, ask the user to connect AlgForce in the client and select a workspace. Switching workspaces requires authorization again. Do not ask users to send tokens or workspace IDs in the conversation. - Call
create_reportwith the completeoutlineand, when needed,locale(default:zh-CN). Each call submits a new job; do not automatically retry creation. Save the returnedjob_idand immediately show the returnedreport_urlas a "View report" link. If a callable built-in browser tool is available, open this URL before the firstget_reportcall and save the tab identifier; do not wait until completion to open it. If no such tool exists or opening fails, explain this and continue tracking the job. AlgForce automatically creates a public read-only share when generation completes; users do not need to share manually in the frontend. The preview's Edit button separately verifies the signed-in account and editing permissions. - Query status with
get_report({"job_id":"..."}). Within the client's available execution time, poll serially using the returnedpoll_after_seconds, or approximately 15 seconds if absent. Do not query the same job concurrently. Report actual progress usingstage,completed_pages,pages_started, andtotal_pages; do not invent percentages. After everyget_reportresult, update the user-visible progress and refresh the same built-in browser tab, keeping the returned preview link in the update. If the client cannot keep waiting, give the user thejob_idand preview link. The page updates its own progress; resume by querying the existing job next time rather than creating the same report again. - Check
statusandreport_urlafter eachget_reportresult. Whenstatusiscompleted, stop polling immediately, present the link using the rules below. Do not continue saying that report generation is pending. Whenstatusisfailed, explainerror_codeanderror_message; submit a new job only if regeneration is needed after the cause has been addressed. Status queries do not modify the job.
Presenting Reports in the Client
- Show the report entry point in a user-visible reply in WorkBuddy or another client. Do not leave the link only in tool results, internal reasoning, or JSON.
- Apply the same presentation rules at creation, during generation, and after completion. Consistently display the returned
report_urlas a "View report" link. Do not replace the original preview entry point withshare_url, generated HTML, or a local file after completion. - After creation, discover and use the built-in browser or web-preview tools actually available in the current client to open the returned
report_urlin the results area. Save the tab or page identifier after the first successful open. Refresh or update that same page after everyget_reportresult, including completion. Do not repeatedly create tabs or substitute system-browser commands. - Open and refresh internally only when the client provides the required tools. Follow their actual schemas; do not invent tool names or private URL schemes. If no callable built-in browser tool exists or execution fails, explain this and retain a clickable link. WorkBuddy users can right-click the link and choose the option to open it internally, or set Settings > General > Link opening behavior to always use the built-in browser. These settings determine where clicked links open; they do not let MCP automatically open tabs.
- The page automatically updates generated report content every 5 seconds, independently of Agent polling. It shows a waiting message before the first page is generated. Do not describe a running report as completed.
- Prefer
report_url, which includes the editing entry point.share_urlis the underlying read-only/share/iframe/<share_id>?b=reportshare address; provide it separately only when the user requests sharing or embedding. Use the exact returned URL without inserting spaces or rewriting it. - When
get_reportreturns a nonempty HTTP/HTTPSreport_url, use the original returned URL in a Markdown link. At completion, reply with the equivalent of "Report generated: [View report](actual report_url)" in the user's language. If the report title is known, it may be used as the link label.actual report_urlis an explanatory placeholder and must be replaced with the real returned URL. - If the backend returns a valid
report_urlduring generation, include "[View report](actual report_url)" in progress updates and state that generation is still in progress. Claim completion only whenstatusiscompleted; the existence of a link does not prove completion. - If
report_urlis empty, show only actual progress. Do not construct a link fromjob_id,report_id, or a domain. If the job has completed without a link, explain that the report is complete but the service did not return an opening link, retain the job ID for investigation, and stop waiting for generation. - Claim that the report has opened inside the client only after actually calling the built-in browser tool and confirming success. If no call was made or it failed, provide the clickable entry point and explain that the user needs to open it; do not claim automatic display.
Editing Through the Frontend
MCP does not provide a report editing tool. If the user requests changes to an existing report, provide its returned report_url and direct them to the preview's Edit button. The frontend verifies the signed-in account and editing permissions before opening the editor. Do not invent an editing tool or silently create a replacement report. Create a new report only when the user requests a separate report.
Error Recovery
NOT_FOUND: distinguishjob_idfromreport_id, then check the current user's access and workspace permissions.- Authorization failure: guide the user to reconnect AlgForce in the current client. Do not request or display tokens.
- Job failure or timeout: query the existing
job_idfirst to confirm its final status. Submit a new creation job only after failure is confirmed and its cause has been addressed.
查看完整英文大纲规范
AlgForce Report Outline Format
Use this reference to prepare create_report.outline. It is based on the project's report Skill outline format and Default layout specifications. It defines page syntax and available layouts, rather than prescribing a fixed number or sequence of analysis pages. Choose pages according to the report goal, audience, and verified data.
Document and Page Syntax
Start the outline with a # main title, followed by a nonempty > subtitle and a <!-- meta ... --> block. Start each page with a ## heading and separate pages with ---. Set meta.pages to the actual number of ## page headings. Do not add page numbers to page titles.
# Report title
> Scope, subject, or central topic
<!-- meta
goal: Goal of this report
skill: Report type
style: default
lang: business
pages: Actual page count
audience: Intended audience
date_range: Actual start and end dates
generated: Generation date
-->
---
## Page title
`layout: English layout name from the table below`
`layout_intent: Reason for selecting this layout`
`layout_slots: Slot names defined for this layout`
- [slot: A slot name declared above] Component title [chart: line]
| Actual time field | Actual metric field |
|---|---|
| Actual period | Actual value and unit |
- [hint: Annotation supported by the actual data]
This example illustrates syntax, not a complete report template. Replace all explanatory text with actual content before submission; do not leave placeholders. Write page-level layout, layout_intent, and layout_slots using the single-line backtick format above. Each main content bullet's [slot: ...] must appear in layout_slots. Match the number of bullets to the selected layout. Layouts without main content slots must not include content bullets. For [text] slots, provide final copy; for [smart_layout], provide structured content; for [chart: ...], provide verified data that can be plotted.
Include a data overview, data definitions, analysis, and a closing decision. Use "Data overview" on page 1 to present the core findings and "Data definitions" on page 2 to explain sources, scope, definitions, and trustworthiness. Use the final page to consolidate findings and actions. Determine the number, sequence, titles, and layouts of intermediate analysis pages from the analysis itself. Prefer conclusion-based titles for analysis pages.
Layout Selection
Write the layout name in layout:. One bullet represents one main content slot, not an additional chart. Use meaningful slot names such as main-chart, left-chart, right-chart, spec-body, and takeaways; avoid generic names such as slot1.
| Layout | Appropriate content and structure | Main content slots |
|---|---|---|
KPI Ledger | Core metric overview with verified KPIs and three lower-section conclusions: evidence, attribution, and recommendation. Each KPI includes its name, current value, and description. | 1 |
Specification Sheet | Sources, dates, metric definitions, units, and limitations. Use a two-column specification table with at most 5 body rows; put additional details in footnotes. | 1 |
Single-Chart Insight | One main chart supporting one conclusion, with three lines for evidence, attribution, and recommendation. Use chart. | 1 |
Dual-Chart Comparison | Two complementary charts on the same topic, with two lines for evidence and risk. Place one chart on each side. | 2 |
Dual-Track Comparison | A/B or before-and-after comparison using matching dimensions and definitions. Mirror the factual panels, each with a main metric and brief supporting facts. | 2 |
Closing Statement | Final-page findings and priority actions in two columns, with 2-3 items each and no more than 3. Number findings 01-03 and actions P1-P3; include a "Goal:" line at the bottom. | 1 |
Horizontal Timeline | A linear process with 4-7 steps. Use one timeline component; each node includes its number, key value or status, and stage name. | 1 |
Feedback Loop | A closed cycle with 3-5 steps. Do not use it for a linear process. | 1 |
Three Forces Cards | Three comparable drivers or growth opportunities, each with a short title and one explanatory sentence. | 3 |
Three-Column Argument | A progressive argument across three columns, each supported by facts or data. Use chart. | 3 |
Four-Column Features | Four equally weighted features or actions with matching structure. | 4 |
Six-Cell Definition | Six equally weighted definitions, snapshots, or metrics, each with a short title and description. | 6 |
Micro-Card Briefing | Six short observations or tips in a 3-by-2 grid. Each item includes a brief conclusion and footnote. | 6 |
Matrix Overview | An overview of 8-12 comparable items, with a total or overall assessment below. | 8-12 |
System Architecture | A strictly nested three-layer Core / Middle / Outer architecture. Do not use it for an ordinary list. | 1 |
Image Hero | One real image used as evidence, with an explanation or supporting KPI. Do not use it without an actual image. | 1 |
Minimal Statement | A single central claim or section opening. Do not use it for data charts. | 0 |
Dot-Matrix Statement | A qualitative statement or section transition with brief anchor text. Do not use it for data charts. | 0 |
Statement Banner | An intermediate claim with supporting explanation. Do not use it as a substitute for the final decision page. | 0-1 |
For analysis pages with verified quantitative data, consider Single-Chart Insight or Dual-Chart Comparison first. Choose another layout when the content does not fit. Content in multiple slots should complement rather than repeat the same data. Use chart for chart-based layouts and prefer smart_layout for processes, matrices, and comparisons. Do not invent metrics, images, or items to fill a layout.
Charts and Values
Supported chart types are line, bar, column, grouped_bar, stacked_bar, grouped_column, stacked_column, pie, donut, combo, scatter, and bubble. Immediately follow each [chart: ...] bullet with a Markdown table whose headers use actual business field names. Ordinary charts use a dimension and metric; grouped charts add a series field; combo uses separate columns for the bar and line metrics; scatter charts use X/Y; bubble charts add size. Table-based smart_layout content also requires column headers. Preserve units, dates, currencies, and percentage definitions in the data rows. Include only aggregated plotting data, not raw detail records.
After a chart's data rows, include a meaningful [hint: ...] to annotate a target line, average, unusual period, or important series or category. Do not add hints to smart_layout. Do not present unverified causes as facts. Explain missing data and conflicting definitions on the definitions page or the relevant analysis page. Before submission, verify that page counts, slot counts, chart fields, values, and conclusions are consistent.
常见问题
客户端不能安装 Skill,还能使用吗?
如果客户端支持 MCP,但无法安装 Skill,可以让 Agent 读取本页完整英文指南或 /mcp.md,在当前会话中按指南生成报告。这不等于持久安装;新会话可能需要重新读取。客户端仍需完成 MCP 连接与授权。
我的 Agent 能自动安装并连接吗?
取决于客户端是否有文件安装、MCP 配置和浏览器授权能力。读取指南不会自动安装 Skill。首次连接仍需要你登录并选择工作区。
需要把 Excel 或 CSV 上传到 MCP 吗?
先让当前 Agent 读取文件并完成分析、计算和验证,再把聚合数据及结论写入 outline。MCP 接收报告大纲,当前没有文件上传工具。
报告在哪里查看和编辑?
创建后即可获得预览链接,页面在生成过程中自动更新内容。报告完成后可通过顶部编辑按钮进入官网编辑器,需要登录并符合报告权限;MCP 本身不提供编辑工具。
预览链接是公开的吗?
是。预览和完成后的分享链接均为公开只读链接,持有链接的人可以查看。创建前请确认报告内容适合分享,编辑权限会单独校验。
支持哪些客户端?
WorkBuddy 已完成测试环境连接和报告生成验证。其他客户端需要支持远程 Streamable HTTP MCP 和相应 OAuth 授权流程,接入后再验证兼容性。
生成报告需要付费吗?
报告创建受授权工作区的账户额度和套餐限制,请在官网查看当前套餐。Skill 安装不等于获得无限报告生成额度。
适合哪些任务和团队?
适合已有可分析数据、需要汇报与交付的 Agency、销售运营和管理团队。先由 Agent 核实数据与结论,再生成报告;不能用报告生成代替原始数据验证。
与 Agent 直接写 Markdown 有何区别?
Markdown 可直接承载文字分析;本服务将包含已核实数据的大纲转为可视化报告,返回生成进度和公开预览链接,并提供官网编辑器继续修改。MCP 不提供文件上传、编辑或导出工具。
可以直接让 MCP 分析 Excel 或 CSV 吗?
当前 MCP 只接收 outline,不接收原始文件。需要当前 Agent 具备文件读取和分析能力,先计算指标、核实口径,再把必要的聚合数据写入大纲。