Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
作者提供的说明(英文原文)
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://aspicio-api.frontsail.app/mcp打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"aspicio": {
"command": "npx",
"args": [
"-y",
"@aspicio/mcp"
]
}
}
}在终端中运行这条命令
claude mcp add --transport http aspicio https://aspicio-api.frontsail.app/mcpclaude mcp add aspicio -- npx -y @aspicio/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"aspicio": {
"url": "https://aspicio-api.frontsail.app/mcp"
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"aspicio": {
"command": "npx",
"args": [
"-y",
"@aspicio/mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"aspicio": {
"type": "http",
"url": "https://aspicio-api.frontsail.app/mcp"
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"aspicio": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@aspicio/mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://aspicio-api.frontsail.app/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 frontsail-ai 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.13.2)于15天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Vexa, emailmd, MCP WhatsApp Cloud
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Aspicio Drawing understanding for people, applications, and AI agents — DXF and vector PDF. Aspicio (Latin: "I look at")
▶ Live demo
Aspicio is an open-source (MIT), TypeScript-first drawing engine: one framework-free parse → tessellate pipeline that runs in the browser, in Node, and in serverless runtimes. It reads DXF and the vector content of PDF — the kind of PDF that carries artwork and dielines rather than a scan. A person gets an interactive WebGL viewer of a CAD drawing; an AI agent gets structured JSON facts and a rendered PNG of the same file. Every surface — the browser viewer, the web components and their React, Vue, and Svelte bindings, the headless renderer, the HTTP API, and the MCP server — is a thin adapter over the same engine, so a drawing is equally readable everywhere.
DXF / PDF bytes ─parse─▶ DrawingDocument ─tessellate─▶ Tessellation ──┬─▶ WebGL renderer (viewer)
(normalized model) (batched geometry) ├─▶ SVG string (export / API / MCP) └─▶ DrawingSummary (describe)
How it's built: docs/architecture.md · behavior specs: docs/product-specs/
One embed, every flavor — and every path below renders the same web components, so the result is pixel-identical no matter which you pick.
One tag gives you the layer panel plus an interactive preview; no bindings needed:
<script type="module">
import "@aspicio/elements"; import "@aspicio/elements/formats/dxf";
Formats are opted into by import: the package brings the components, the formats/* entry brings the parser. That is what keeps a DXF app from shipping every other format's code — and every flavor below does the same.
The same embed with idiomatic props and a ref exposing the full viewer, via @aspicio/react:
import { AspicioEmbed } from "@aspicio/react";
import "@aspicio/react/formats/dxf";
;
Typed props and emits with unwrapped payloads, via @aspicio/vue:
<script setup>
import { AspicioEmbed } from "@aspicio/vue"; import "@aspicio/vue/formats/dxf";
The same components as raw Svelte 5 source with typed callback props, via @aspicio/svelte:
<script>
import { AspicioEmbed } from "@aspicio/svelte"; import "@aspicio/svelte/formats/dxf";
Skip the ready-made UI and drive the viewer directly from @aspicio/core — bring your own chrome:
import { DrawingViewer } from "@aspicio/core";
import { dxfParser } from "@aspicio/core/dxf";
const viewer = new DrawingViewer(document.querySelector("#preview")!, { parsers: [dxfParser], }); await viewer.load(file); // File | Blob | ArrayBuffer | DXF text (ASCII or binary)
Parse, describe, and render with no browser at all (server-side previews, thumbnails, pipelines):
import {
describeDrawing, parseWith, tessellate, tessellateSpace, tessellationToSvg, } from "@aspicio/core"; import { dxfParser } from "@aspicio/core/dxf";
const doc = await parseWith([dxfParser], bytes); // ASCII or binary DXF const summary = describeDrawing(doc); // units, bounds, layers, texts, spaces… const svg = tessellationToSvg(tessellate(doc)); // model space (a PDF's page 1)
// Multi-page PDFs and multi-sheet DXFs: describe covers all of them, and // either verb can be scoped to one. const page3 = describeDrawing(doc, { space: "Page 3" }); const sheet = tessellationToSvg(tessellateSpace(doc, "Layout1"));
What you get: WebGL rendering batched to one draw call per layer (large drawings stay interactive), broad entity coverage (lines, arcs, circles, ellipses, polylines with bulges, splines, TEXT/MTEXT, DIMENSION, SOLID/HATCH fills, nested INSERT blocks — anything unsupported is counted and reported, never fatal), a layer list with the colors that are _actually drawn_ (per-entity overrides included, not just the layer table), measure with object snap, entity picking, paper-space layouts, SVG/PNG export, and first-class touch. Out of scope: editing and 3D.
The same engine speaks MCP and HTTP, so an agent can _read_ a drawing instead of guessing at it:
| Surface | Local files | URLs | Inline DXF |
|---|---|---|---|
stdio MCP — npx -y @aspicio/mcp | ✅ | ✅ | ✅ |
Hosted MCP — aspicio-api.frontsail.app/mcp | — | ✅ | ✅ |
HTTP API — /describe, /render | POST body | ✅ | ✅ |
Connect:
aspicio-inspect-dxf, aspicio-embed): /plugin marketplace add frontsail-ai/aspicio then /plugin install aspicio@aspiciocodex plugin marketplace add https://github.com/frontsail-ai/aspicio, codex plugin add aspicio@aspicio, then codex mcp add aspicio -- npx -y @aspicio/mcpnpx -y @aspicio/mcphttps://aspicio-api.frontsail.app/mcp (no install; speaks MCP, not a browser page)GET /describe?src= , GET /render?src= &format=png|svg; the API self-describes at /openapi.jsonURL fetches are guarded (private-network blocking, size caps, redirect validation, timeouts). The stdio server reads local files in-process and never uploads the DXF to any Aspicio service — though, as with any tool result, your MCP client passes the returned summary or image to its model provider. Full details: privacy policy · terms.
Everything above is shipped and live: viewer + demo, core, web components, React, Vue, and Svelte packages, headless describe/render, stdio and hosted MCP, the in-chat MCP Apps viewer, the HTTP API with OpenAPI, and plugin packaging for Claude Code and Codex.
Direction (intent, not commitments — see issues): MCP registry listings, structured entity queries and focused rendering, and an upload flow so remote surfaces can handle local files.
| Package | Description |
|---|---|
@aspicio/core | The viewer library: parsing, tessellation, rendering, camera, input |
@aspicio/elements | Web components: , , — plain HTML, Svelte, any framework |
@aspicio/react | React bindings: , , |
@aspicio/vue | Vue 3 bindings: the same three components with typed props and emits |
@aspicio/svelte | Svelte 5 bindings: the same three components as raw .svelte source |
@aspicio/mcp | MCP server for AI agents: describe_dxf + render_dxf |
@aspicio/api | DXF HTTP API server (private): /describe, /render, /mcp |
@aspicio/widget | MCP Apps in-chat viewer widget (private), served by the api server |
@aspicio/demo | Standalone demo app (private) — also the reference integration |
How the viewer packages fit together: every framework path funnels into the same Lit web components — one implementation of the embed UI — which sit on the framework-free core. React, Vue, and Svelte get thin veneers with idiomatic props; plain HTML consumes the elements directly.
flowchart TD
REACTAPP["React app"] HTMLAPP["Plain HTML / vanilla JS app"] VUEAPP["Vue app"] SVELTEAPP["Svelte app
只显示了开头部分;其余内容请在仓库中阅读