File size: 13,181 Bytes
53416ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46827fc
 
 
53416ba
 
 
 
 
 
 
 
 
 
 
 
 
087305e
 
53416ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46827fc
 
 
 
 
 
 
 
 
53416ba
 
 
 
 
 
 
 
087305e
 
 
 
 
 
 
 
 
53416ba
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<!doctype html>
<html lang="es" data-root="../">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Conecta AMC a tu asistente · AMC</title>
<meta name="description" content="Instala la extensión de Analíticas Mercantiles Colombianas en Claude Desktop, paso a paso y sin programar, para que tu asistente responda con los datos del registro mercantil de Colombia.">
<meta property="og:title" content="Conecta AMC a tu asistente de IA">
<meta property="og:description" content="Una extensión para Claude Desktop: tu asistente busca empresas, ve su perfil y cuenta empresas con los datos abiertos de AMC. Paso a paso, sin programar.">
<meta property="og:type" content="article">
<link rel="icon" href="../assets/favicon.svg" type="image/svg+xml">
<meta property="og:image" content="https://amc.clyxconsulting.com/assets/og/inicio.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:site_name" content="Analíticas Mercantiles Colombianas">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://amc.clyxconsulting.com/assets/og/inicio.png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="../assets/amc.css">
<link rel="stylesheet" href="../assets/nav.css">
<style>
.steps-howto { counter-reset: s; list-style: none; padding: 0; margin: 0 0 1.4em; }
.steps-howto > li { counter-increment: s; position: relative; padding: 0 0 0 52px; margin: 0 0 1.3em; }
.steps-howto > li::before { content: counter(s); position: absolute; left: 0; top: -2px; width: 36px; height: 36px; border-radius: 50%;
  background: var(--ink); color: var(--bg, #fff); font: 700 17px/36px "Inter Tight", sans-serif; text-align: center; }
.steps-howto > li b:first-child { display: block; font-size: 18.5px; margin-bottom: 2px; }
.get { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 1.4em; }
.get small { color: var(--muted); }
.asks { list-style: none; padding: 0; margin: 0 0 1.2em; }
.asks li { background: var(--surface-2); border: 1px solid var(--border); border-radius: 10px; padding: 10px 14px; margin: 0 0 8px; }
.asistente pre { margin: 0 0 1.05em; background: var(--surface-2); border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px;
                 font: 13px/1.6 var(--mono); color: var(--ink); overflow: auto; white-space: pre; }
.asistente code { font: .88em var(--mono); }
.asistente pre code { font-size: 1em; }
</style>
<link rel="canonical" href="https://amc.clyxconsulting.com/asistente/">
<meta property="og:url" content="https://amc.clyxconsulting.com/asistente/">
<meta property="og:locale" content="es_CO">
<meta property="og:image:type" content="image/png">
<meta property="og:image:alt" content="Conecta AMC a tu asistente de IA">
</head>
<body>
<main class="wrap" id="app"><p class="loading">Cargando…</p></main>
<noscript><p class="wrap">Esta página necesita JavaScript. La extensión se descarga en <a href="amc.mcpb">amc.mcpb</a>.</p></noscript>
<script type="module">
import * as A from "../assets/amc.js";
const { el, rich } = A;

A.chrome("asistente");
const app = document.getElementById("app");
// HOW TO CONNECT AMC TO AN ASSISTANT, for someone who has never installed
// anything but apps (docs/ai-access-plan.md, step 2). The extension is
// tools/amc-mcp, built into amc.mcpb beside this page: one file Claude Desktop
// installs with a double click. Steps in the order they happen, what the
// reader will see at each, and what to do when it does not go that way.
const prose = (...blocks) => el("div", { class: "prose reveal" }, ...blocks.filter((b) => b != null).map((b) =>
  b instanceof Node ? b : b.h2 ? el("h2", { text: b.h2 }) : Array.isArray(b) ? rich("p", {}, b) : el("p", { text: b })));
const step = (head, ...parts) => rich("li", {}, [{ b: head }, ...parts]);
const code = (t) => el("code", { text: t });

try {
  const s = await A.summary();
  // The extension's checksum, from the dataset's manifest on Hugging Face,
  // outside this site's host (ops/publish.py, F-14 of the security report).
  const ext = (await A.getJSON("manifest.json").catch(() => null))?.extension;
  app.replaceChildren(
    el("header", { class: "story-head" },
      el("p", { class: "kicker", text: "Datos abiertos · IA" }),
      el("h1", { text: "Conecta AMC a tu asistente" }),
      el("p", { class: "dek", text: "Con esta extensión, Claude responde con los datos del registro mercantil de Colombia: busca una empresa, te muestra su perfil, cuenta cuántas hay de una actividad en una cámara de comercio, y cita la fuente. Se instala en cinco minutos, sin programar." })),
    el("div", { class: "asistente" }, prose(
      el("div", { class: "get" },
        el("a", { class: "btn primary", href: "amc.mcpb", download: "amc.mcpb" }, "Descargar la extensión", A.icon("arrow")),
        el("small", { text: "amc.mcpb · para Claude Desktop en Mac, Windows o Linux · unos 9 MB" })),

      { h2: "Qué necesitas" },
      ["La aplicación ", { b: "Claude Desktop" }, ", para computador, con tu cuenta de Claude. Si no la tienes, descárgala de ",
        { a: "claude.ai/download", href: "https://claude.ai/download" }, " e inicia sesión. Nada más: no hay que instalar programas ni escribir comandos."],
      ["La extensión funciona en la aplicación de computador, no en la página web de Claude ni en el teléfono. ¿Usas ChatGPT u otro asistente? Mira ",
        { a: "con otro asistente", href: "#otro" }, "."],

      { h2: "Cómo instalarla" },
      el("ol", { class: "steps-howto" },
        step("Descarga el archivo.", "Pulsa ", { b: "Descargar la extensión" }, ", arriba. Se guarda un archivo llamado ", code("amc.mcpb"), " en tu carpeta de Descargas."),
        step("Ábrelo con Claude.", "Abre Claude Desktop. Luego haz doble clic en ", code("amc.mcpb"), ". Si el doble clic no lo abre en Claude, entra en Claude a ",
          { b: "Configuración" }, " (Settings) → ", { b: "Extensiones" }, " (Extensions) y arrastra el archivo a esa ventana."),
        step("Confirma.", "Claude muestra la extensión, ", { b: "Analíticas Mercantiles Colombianas" }, ", con lo que puede hacer: buscar empresas, ver un perfil, contar empresas, describir las tablas y consultar con SQL. Pulsa ",
          { b: "Instalar" }, " (Install). Si te pregunta si confías en la extensión, es porque no viene del directorio de Claude: es de AMC, y su código va dentro del mismo archivo, con licencia MIT."),
        step("Comprueba que está activa.", "En ", { b: "Configuración → Extensiones" }, " debe aparecer AMC encendida. Si no aparece, cierra Claude del todo y vuelve a abrirlo."),
        step("Pregúntale.", "Abre una conversación nueva y pregunta algo de empresas colombianas; si quieres que use AMC, dilo: «usa AMC». La primera vez, Claude te pide permiso para usar la extensión: elige ",
          { b: "Permitir" }, " (Allow), una vez o siempre.")),

      { h2: "Qué puedes preguntarle" },
      el("ul", { class: "asks" },
        el("li", { text: "¿Alpina sigue activa? ¿Cuál es su NIT y cuánto vendió el último año? Usa AMC." }),
        el("li", { text: "¿Cuántas panaderías hay vivas en la cámara de comercio de Medellín, y cuántas se crearon cada año?" }),
        el("li", { text: "¿Qué contratos con el Estado tiene la empresa con NIT 890903938?" }),
        el("li", { text: "¿Cuántas empresas de software se crearon en Colombia desde 2020?" }),
        el("li", { text: "Con AMC, haz una consulta SQL: las 10 actividades con más empresas vivas." })),
      ["Claude responde con las cifras, el corte de los datos (la fecha del registro que usa) y un enlace a la página de la empresa o de la actividad en AMC, para que las verifiques."],

      { h2: "Lo que conviene saber" },
      el("ul", {},
        rich("li", {}, [{ b: "«Viva» no es «activa». " }, "AMC cuenta como viva la empresa que renovó su matrícula este año; el registro marca como «ACTIVA» a más del doble. ",
          { a: "Por qué", href: "../metodologia/index.html#activa" }, "."]),
        rich("li", {}, [{ b: "Las personas naturales se cuentan, nunca se nombran" }, " (Ley 1581 de 2012): un comerciante persona natural no aparece por su nombre ni por su cédula."]),
        rich("li", {}, [{ b: "La geografía es la cámara de comercio" }, ", no el municipio: el registro abierto no trae municipio."]),
        rich("li", {}, [{ b: "La primera pregunta tarda unos segundos" }, ", mientras la extensión trae lo que necesita de los datos; las siguientes son más rápidas. Necesita internet."])),

      { h2: "Tu privacidad" },
      ["La extensión corre en tu computador. Lee solo los archivos que AMC publica en Hugging Face, nunca tus archivos, y a Hugging Face solo le pide las partes de los archivos que necesita: tus preguntas no salen de tu computador hacia AMC ni hacia nadie más que tu asistente. AMC no recibe nada de lo que preguntas. ",
        { a: "Política de datos", href: "../privacidad/index.html" }, "."],

      ...(ext ? [
        { h2: "Comprueba que el archivo es el original" },
        ["Cada noche publicamos la huella SHA-256 de ", code("amc.mcpb"), " en el ", { a: "manifiesto de los datos", href: `${A.HF}/blob/main/manifest.json` },
          ", en Hugging Face, fuera del servidor de este sitio (búscala en ", code("extension"), "). Es esta:"],
        el("p", {}, el("code", { style: "overflow-wrap:anywhere;hyphens:none;-webkit-hyphens:none", text: ext.sha256 })),
        ["Calcula la del archivo que descargaste. En Mac o Linux, en la Terminal: ", code("shasum -a 256 ~/Downloads/amc.mcpb"),
          ". En Windows, en PowerShell: ", code("Get-FileHash $HOME\\Downloads\\amc.mcpb"), ". Si no coinciden, no la instales y escríbenos."],
      ] : []),

      { h2: "Si algo no funciona" },
      el("ul", {},
        rich("li", {}, [{ b: "El doble clic abre otra cosa o nada." }, " Usa el otro camino: en Claude, Configuración → Extensiones, y arrastra el archivo a esa ventana."]),
        rich("li", {}, [{ b: "Claude no usa la extensión." }, " Revisa que esté encendida en Configuración → Extensiones, y pídeselo de forma explícita: «usa la extensión de AMC»."]),
        rich("li", {}, [{ b: "Dice que no pudo responder." }, " Puede ser la conexión a internet o que Hugging Face no responda en ese momento: inténtalo de nuevo en un minuto."]),
        rich("li", {}, [{ b: "Para actualizarla" }, ", descarga el archivo otra vez desde esta página e instálalo encima. ", { b: "Para quitarla" }, ", Configuración → Extensiones → AMC → Desinstalar."]),
        rich("li", {}, ["¿Otra duda? Escríbenos a ", { a: "clyx.consulting@gmail.com", href: "mailto:clyx.consulting@gmail.com" }, "."])),

      // Other assistants: no hosted connector (docs/ai-access-plan.md, steps 3 and 4, dropped).
      el("h2", { id: "otro", text: "Con otro asistente" }),
      ["ChatGPT, y Claude en la web o en el teléfono, no instalan extensiones, y por ahora AMC no tiene un conector en internet para ellos. Aun así, hay dos caminos:"],
      el("ul", {},
        rich("li", {}, [{ b: "Dale a tu asistente la guía de AMC. " }, "Si puede leer páginas web, pídele que lea ", code("https://amc.clyxconsulting.com/llms.txt"),
          " antes de responder. Ahí está dónde están los datos, qué significa cada tabla y qué cuidar al citarlos; con eso te explica los datos y te escribe la consulta SQL que necesitas."]),
        rich("li", {}, [{ b: "Pregúntale al sitio. " }, "La ", { a: "consulta SQL", href: "../consulta/index.html" }, " corre esa consulta en tu navegador, sin instalar nada; ",
          { a: "Busca tu empresa", href: "../historias/tu-empresa/index.html" }, " y el ", { a: "explorador", href: "../explorar/index.html" }, " responden lo más común sin SQL."])),

      { h2: "Para programadores" },
      ["Es un servidor MCP (Model Context Protocol). El archivo ", code("amc.mcpb"), " es un zip: descomprímelo y apunta tu cliente MCP (Claude Code, Cursor, VS Code…) a ", code("server/index.cjs"), " con Node 18 o más:"],
      el("pre", { tabindex: "0" }, el("code", { text: `{\n  "mcpServers": {\n    "amc": { "command": "node", "args": ["/ruta/a/amc/server/index.cjs"] }\n  }\n}` })),
      ["Herramientas: ", code("buscar_empresa"), ", ", code("perfil_empresa"), ", ", code("contar_empresas"), ", ", code("describir_tablas"), " y ", code("consultar_sql"),
        ". Usa DuckDB-WASM sobre los archivos publicados, sin nada compilado, y no lee archivos locales. Sin la extensión, los datos también se consultan directamente: ",
        { a: "Datos y acceso para IA", href: "../datos/index.html" }, "."])));
  A.reveal(app);
  A.footer(s);
  window.__amcReady = true;
} catch (e) { A.fail(app, e, "la página"); }
</script>
</body>
</html>