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/mcpClaude 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메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 frontsail-ai 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.13.2)은 15일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 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
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요