El servidor Model Context Protocol (MCP) de FlexPro pone a disposición de los asistentes de IA la ayuda en línea de FlexPro y, en particular, la referencia de funciones FPScript, así como una colección seleccionada de preguntas frecuentes, como fuente de conocimiento en la que se puede buscar. Es un servidor MCP remoto y se comunica mediante "streamable HTTP".
Descripción general
El servidor pone el conocimiento sobre FlexPro a disposición de los asistentes de IA a través del Model Context Protocol. Puede preguntar en lenguaje natural por la sintaxis de FPScript, por funciones o por conceptos. El servidor devuelve como contexto los fragmentos de la documentación que corresponden a la pregunta. De este modo, el conocimiento aprendido por la IA se combina con la información específica de FlexPro, lo que le ayuda a trabajar con FlexPro y a crear fórmulas con el lenguaje de programación FPScript.
Además de las preguntas sobre la ayuda de FlexPro y la referencia de funciones, el servidor busca en una colección de preguntas frecuentes sobre FlexPro. Estas entradas responden a casos prácticos que la documentación del producto no trata o solo trata de forma dispersa — por ejemplo, problemas de instalación y de licencias o preguntas sobre el rendimiento. Estos resultados se reconocen por la indicación de fuente "FAQ" seguida del grupo temático.
Nota El servidor no tiene acceso a las bases de datos de proyectos de FlexPro y no puede modificar datos en FlexPro. Busca exclusivamente en un fondo documental estático mantenido por Weisang y no procesa datos de clientes ni datos de medición.
Herramientas
El servidor proporciona dos herramientas (Tools):
Herramienta |
Finalidad |
Tipo de acceso |
|---|---|---|
search_docs |
Busca en la ayuda de FlexPro, en la referencia de funciones FPScript y en las FAQ los pasajes de texto que corresponden temáticamente a la consulta y devuelve los resultados con la indicación de la fuente. Además, cada resultado se puede direccionar individualmente, de modo que un asistente puede cargar un documento completo cuando lo necesite.
Parámetros:
•Texto de búsqueda — la consulta de búsqueda en inglés. Se evalúan los primeros 254 tokens; las consultas más largas se recortan y el servidor lo indica. •Ámbito de búsqueda — ambos (predeterminado), solo funciones o solo ayuda/FAQ. •Número máximo de resultados — de 1 a 10 por ámbito buscado, 3 de forma predeterminada. Los valores fuera de este rango se ajustan al límite. •Idioma de la interfaz — el idioma de los términos de la interfaz devueltos (inglés, alemán, francés, español, japonés y chino simplificado) •Términos de la interfaz solicitados — una lista de denominaciones en inglés para las que el asistente solicita la traducción oficial, aunque no aparezcan en los resultados. Así obtiene los términos que el servidor no puede proporcionar por sí mismo porque también podrían ser palabras corrientes — por ejemplo, "diagrama", "base de datos" o "formato". Requiere un idioma de respuesta; como máximo 20 términos por consulta; si hay más, el servidor indica cuántos se han consultado. •Nivel de detalle — completo (predeterminado) o solo el comienzo de cada resultado. La forma abreviada sirve para revisar varios candidatos con poco coste; en ese caso, el servidor lo indica y señala cómo obtener el texto completo. |
Solo lectura (read-only) |
get_fpscript_syntax |
Devuelve la lista completa de los puntos en los que FPScript se diferencia de otros lenguajes de programación: operadores de concatenación, comparación, potencia y resto, caracteres de comentario, continuación de línea, finales de bloque, declaración de variables, así como la notación de índices, cadenas de caracteres y listas.
Parámetros: ninguno. |
Solo lectura (read-only) |
Nota FPScript se parece a otros lenguajes de programación, pero no sigue ninguno de ellos. La sintaxis adoptada de otro lenguaje es la causa más frecuente de que el código FPScript generado por una IA no se compile — precisamente cuando la notación parece familiar. Por ello, un asistente debería llamar una vez a get_fpscript_syntax antes de escribir o modificar código FPScript.
La herramienta no sustituye a la búsqueda de funciones: los nombres de las funciones, el orden de los argumentos y los nombres de las constantes se siguen obteniendo de search_docs con el ámbito de búsqueda "Funciones". Tampoco comprueba ningún código, sino que solo indica las reglas.
Además, el servidor pone a disposición el fondo documental, incluidas las FAQ, en forma de entradas que se pueden consultar individualmente (Resources). Algunas aplicaciones de IA las muestran o leen de ellas de forma selectiva. Este acceso también es de solo lectura.
Nota La documentación está indexada internamente solo en inglés. Las consultas de búsqueda en inglés ofrecen los resultados más fiables, independientemente del idioma en el que el usuario converse con el asistente. Si el asistente responde en otro idioma, lo transmite como idioma de la interfaz: el servidor proporciona entonces, además, las denominaciones oficiales en ese idioma de los términos de la interfaz que aparecen —rutas de la cinta, comandos, títulos de cuadros de diálogo y botones—, siempre que sean suficientemente inequívocos y en un número limitado por respuesta, para que el asistente no los traduzca por sí mismo e invente nombres que no existen en su interfaz de FlexPro. El asistente también puede preguntar específicamente por términos que no aparecen en los resultados; para cada uno de los idiomas mencionados, el servidor dispone de un glosario mucho más amplio de lo que muestra una sola respuesta.
Actualmente hay denominaciones oficiales para alemán, francés, español, japonés y chino simplificado. Las denominaciones proceden de los mismos archivos de recursos con los que FlexPro rotula su interfaz; para un término que no se suministra, el asistente indica el nombre original en inglés y lo identifica como tal.
Respuestas del servidor
Situación |
Respuesta |
|---|---|
La consulta de búsqueda no parece estar en inglés |
Indicación de que los resultados pueden no ser adecuados aunque parezcan plausibles, junto con la invitación a repetir la búsqueda en inglés |
Ningún resultado recoge una palabra clave de la consulta |
Indicación de que los resultados probablemente no son adecuados — normalmente debido a un nombre de función inventado o mal recordado; recomendación de buscar en su lugar por la funcionalidad |
La consulta de búsqueda era demasiado larga |
Indicación de que solo se ha evaluado su comienzo, con la recomendación de realizar varias búsquedas cortas en lugar de una larga |
No hay ningún glosario para el idioma de la interfaz deseado |
Indicación de utilizar sin cambios las denominaciones originales en inglés e identificarlas como tales |
Se ha solicitado la respuesta en forma abreviada |
Indicación de que por cada resultado solo se incluye el comienzo del documento, con la indicación de cómo cargar el texto completo |
Una de las dos mitades buscadas queda claramente por detrás |
Si se busca a la vez en la referencia de funciones y en la ayuda/FAQ y uno de los dos fondos obtiene un resultado claramente peor, el servidor lo indica y menciona ambas puntuaciones: probablemente estos resultados no corresponden a la pregunta. Aun así, no se elimina ninguno — simplemente, el asistente no debe adoptarlos sin comprobarlos. |
La respuesta contiene una cantidad de texto inusualmente grande |
Volumen más una referencia al nivel de detalle abreviado — es una indicación, no un límite |
La pregunta afecta a una notación divergente de FPScript |
Indicación de la forma correcta |
Un ejemplo de los resultados utiliza una notación incorrecta — por ejemplo, una ruta de archivo con una barra invertida simple en lugar de doble |
Indicación de la forma correcta, junto con la advertencia de no adoptar el ejemplo sin cambios |
La respuesta contiene resultados de funciones |
Referencia a consultar las notaciones de FPScript con get_fpscript_syntax antes de escribir código, junto con las dos formas que se escriben mal con más frecuencia |
Una de las dos mitades buscadas no ha podido responder |
Indicación de que la respuesta solo contiene la otra mitad y de que la búsqueda está incompleta — los resultados suministrados siguen siendo válidos |
Nota Estas indicaciones están dirigidas al asistente, no a usted — que las siga o no depende del modelo utilizado. Si una respuesta no parece adecuada, ayuda preguntar: "¿Ha incluido el servidor alguna advertencia y qué decía?"
Establecer la conexión
•Se pueden utilizar aplicaciones de IA que admitan la conexión a un servidor MCP mediante "streamable http".
•Para ello, debe registrar el servidor MCP en su aplicación de IA. El nombre de este ajuste varía según la aplicación de IA — normalmente se encuentra en una opción de menú como "Conectores" (Connectors) y, en ocasiones, también "Integraciones", "Herramientas" o "Servidores MCP". Busque "FlexPro". Si no encuentra ninguna entrada, también puede añadir una entrada propia con la dirección del servidor: https://mcp.weisang.com/doc
•Conectar – no se necesitan credenciales de acceso; la conexión está disponible inmediatamente después de guardar.
•Activar las herramientas (Tools), si es necesario, y utilizarlas en una conversación.
Autenticación
El servidor no requiere autenticación. Busca exclusivamente en documentación mantenida por Weisang, no tiene acceso a sus datos de FlexPro y no crea contenido relacionado con el usuario. Por lo tanto, no hay ni fondos protegidos que requieran un inicio de sesión ni configuraciones personales que presupongan una identificación.
Consejos para obtener mejores respuestas
•Formule su pregunta de la forma más concreta posible (p. ej., con nombres de funciones o de objetos) — cuanto más precisa sea la pregunta, más específica será la búsqueda en la documentación.
•Pida expresamente a la IA que consulte la sintaxis antes de proponer código FPScript — especialmente si una fórmula le resulta "familiar" porque recuerda a otro lenguaje de programación.
•Pida que se le indique de dónde procede una respuesta (p. ej., el nombre de la función o el tema de ayuda) — esto facilita su comprobación.
•Compruebe siempre en el propio FlexPro el código FPScript generado por la IA — el servidor MCP solo proporciona documentación, no ejecuta ni valida nada.
•Si una respuesta no es adecuada, indique los errores a la IA y pídale una comprobación más exhaustiva. O bien pida una nueva búsqueda con otros términos de búsqueda (sinónimos, términos en inglés en lugar de en español) — la documentación solo está indexada internamente en inglés.
•Puede ocurrir que haya que recordar expresamente a la IA que utilice el servidor MCP.
•El modelo de IA utilizado influye considerablemente en el resultado: el servidor solo proporciona la documentación — si se busca en ella y con qué precisión lo decide el modelo. Si las respuestas son insatisfactorias de forma sistemática, un modelo más potente suele ser más eficaz que reformular la pregunta.
Nota El buen funcionamiento de la colaboración con el servidor MCP depende en gran medida del modelo de IA utilizado. El servidor proporciona exclusivamente documentación — solo el modelo decide si se busca, con qué acierto se formula la consulta de búsqueda, si los pasajes encontrados se evalúan correctamente y si el asistente consulta la sintaxis antes de escribir código FPScript. Los modelos más potentes utilizan el servidor de forma mucho más específica. Los modelos más sencillos tienden a consultar con menos frecuencia y a responder en su lugar a partir de sus conocimientos previos generales — que no conocen las convenciones específicas de FlexPro. Por ello, si una respuesta no le ayuda, además de formular una pregunta más precisa, también merece la pena cambiar a un modelo más potente.
Posibles causas de error
Error |
Causa y solución |
|---|---|
La aplicación de IA informa de un error al añadir el servidor MCP |
Compruebe si la dirección contiene errores tipográficos — es https://mcp.weisang.com/doc. Una barra final no causa problemas. Asegúrese de utilizar https (con http no se establece la conexión, y además sin ningún mensaje de error). No se necesitan credenciales de acceso; los campos correspondientes se dejan vacíos. |
La conexión está establecida, pero la IA nunca la utiliza |
Es posible que la herramienta (Tool) no esté activada en la aplicación de IA. Si lo está, solicite expresamente su uso: "Consulta esto, por favor, en el servidor de documentación de FlexPro." |
Las respuestas llegan con retraso o se interrumpen |
Cuando hay muchísimas solicitudes simultáneas, el servidor limita la tasa de solicitudes y pide esperar un momento. Las aplicaciones de IA habituales repiten la solicitud automáticamente; de lo contrario, basta con volver a intentarlo al cabo de unos segundos. |
La respuesta menciona comandos que no existen en su interfaz |
Pida la denominación original en inglés. El servidor solo proporciona denominaciones oficiales para los idiomas mencionados en "Herramientas" y no para todos los términos que aparecen. |
El contenido de la respuesta no es adecuado |
Véase "Consejos para obtener mejores respuestas" — la causa más frecuente es una consulta de búsqueda demasiado poco específica o que no está en inglés. |
La IA informa de que el servidor está sobrecargado o presenta fallos |
Cuando hay muchísimas solicitudes simultáneas, el servidor reduce el ritmo y pide esperar un momento. Las aplicaciones de IA habituales repiten la solicitud automáticamente. |
Una aplicación de IA basada en el navegador no consigue conectarse (403 / "Forbidden") |
El servidor solo acepta solicitudes sin el encabezado de origen del navegador (Origin). Por ello, rechaza las aplicaciones que se conectan directamente desde el navegador — esto es intencionado e impide que una página web ajena llame al servidor en nombre de su navegador. Utilice una aplicación de escritorio o de servidor. |
Ejemplos
Pregunta: "Genera código FPScript que busque valores inválidos en una señal y los establezca en el valor 0."
Respuesta:
En FlexPro, los "valores inválidos" se denominan valores void (representados como ?). Para las señales existen las funciones SearchVoidValues (encuentra las posiciones) y HasVoidValues (comprueba si hay alguno) – esta es la vía verificada según la documentación.
// Establece en 0 todos los valores inválidos (void) del componente Y de una señal
Arguments Signal
If HasVoidValues(Signal.Y) Then
Signal.Y[SearchVoidValues(Signal.Y)] = 0
End
Return Signal
Explicación:
•HasVoidValues(Signal.Y) comprueba si el componente Y contiene algún valor inválido (void).
•SearchVoidValues(Signal.Y) devuelve las posiciones de índice de estos valores void.
•Signal.Y[Posiciones] = 0 sobrescribe exactamente estas posiciones con 0.
Pregunta: "Explica de la forma más concisa posible qué se entiende por red de objetos."
Respuesta:
En FlexPro, una red de objetos designa la forma en que todos los objetos de una base de datos del proyecto (datos, análisis, diagramas, documentos) están vinculados entre sí, en lugar de existir aislados unos junto a otros.
Cadena de ejemplo: documento → diagrama contenido en él → objeto de análisis del diagrama → conjunto de datos con los datos brutos en los que se basa el análisis.
Estos vínculos crean una red dinámica de dependencias: si cambia un conjunto de datos, el efecto se propaga a lo largo de la cadena hasta la visualización. FlexPro también utiliza esta red al actualizar (Update): analiza la red de objetos y actualiza de forma selectiva solo los objetos afectados que ya no están actualizados – en lugar de volver a calcularlo todo cada vez.
Pregunta: "¿Cómo se pueden combinar en un cálculo señales con unidades diferentes?"
Respuesta:
En las operaciones aritméticas, FlexPro comprueba automáticamente la dimensión SI de las unidades implicadas:
•Suma/resta: Solo es posible si las unidades tienen la misma dimensión SI (son compatibles). Las unidades diferentes pero compatibles se convierten automáticamente — p. ej., 1 V + 500 mV funciona directamente. Las unidades incompatibles (p. ej., 1 V + 1 A) generan un error de ejecución.
•Multiplicación/división: En este caso, las unidades se combinan automáticamente en una nueva unidad derivada — p. ej., 3 N * 2 m → 6 Nm.
Si es necesario llevar explícitamente las señales a una unidad común, hay tres formas de hacerlo:
•Operador Unit: Unit<mV, ms> Signal convierte el componente Y (y opcionalmente el X) a la unidad de destino indicada (que debe ser compatible).
•ChangeUnit(DataSet, [Unit], [UnitX], [UnitZ]) – función para convertir una unidad o asignarla por primera vez, p. ej., ChangeUnit(Signal1, "V").
•AdjustUnit(DataSet, [OtherDataSet]) – práctica cuando se deben combinar dos señales en un cálculo: adapta automáticamente la unidad de DataSet a la unidad de OtherDataSet, p. ej., AdjustUnit(Signal1, Signal2) + Signal2.
Si una señal no tiene unidad o si se debe eliminar completamente la unidad (p. ej., para seguir calculando sin dimensión), basta con establecer una cadena vacía: ChangeUnit(Signal, "").
Pregunta: "Muéstrame la sintaxis exacta de la función FPScript con la que puedo calcular el valor absoluto."
Respuesta:
Absolute
Sintaxis: Absolute(Number)
Parámetro: Number: El número real, el número complejo o el intervalo de tiempo cuyo valor absoluto se debe calcular. Tipo: numérico.
Valor de retorno: En las estructuras compuestas (p. ej., señales), solo se considera el componente Y. Si Number es real, el resultado tiene el mismo tipo de datos; en el caso de los números complejos, el resultado es del tipo de datos real correspondiente.
Ejemplos:
Absolute(-3.5) → 3.5
Absolute((4.0, 3.0)) → 5.0 // Valor absoluto de un número complejo
Absolute(-'1:30') → '1:30:00' // Valor absoluto de un intervalo de tiempo
Pregunta: "¿Cómo se puede reescalar el eje X de un diagrama a una unidad distinta de la de los datos subyacentes, p. ej., para representar segundos como horas? Menciona también la fuente."
Respuesta:
FlexPro realiza el reescalado mediante la unidad de salida del eje — no mediante un factor manual:
•Haga doble clic en el eje.
•En el cuadro de diálogo de propiedades del eje, cambie a la pestaña Escalado.
•En Unidad(es), introduzca la unidad de salida deseada (p. ej., h) o selecciónela de la lista.
•Cierre el cuadro de diálogo con Aceptar.
FlexPro convierte entonces automáticamente la visualización; los datos en sí siguen estando en segundos.
Requisitos previos:
•La gestión de unidades debe estar activa (configuración básica en Archivo > Opciones, pestaña Gestión de unidades, opción Monitoreo de unidades).
•Los conjuntos de datos representados deben tener asignada su unidad de origen correcta, y las unidades de todas las curvas de este eje deben ser compatibles.
Para que la nueva unidad también sea visible, puede incluirla en el etiquetado de divisiones: doble clic en el etiquetado de divisiones, pestaña Etiquetado de divisiones, opción Incluya la unidad en el etiquetado de divisiones.
Fuentes (ayuda de FlexPro/FAQ):
•FAQ > Presentation: "How can the X-axis of a diagram be rescaled to a different unit than the underlying data, e.g. showing seconds as hours?"
•Ayuda: Presenting Data > 2D and 3D Diagrams > Working with Axes > Specifying the Output Unit
•Ayuda: Presenting Data > 2D and 3D Diagrams > Working with Axes > Displaying the Unit in the Axis Division
•Ayuda: Data Management > Unit Manager > Working with the Unit Manager > Setting Up the Unit Manager
Procesamiento de datos & protección de datos
Para el funcionamiento del servidor solo se registran datos técnicos de acceso – para la supervisión del funcionamiento, el análisis de errores, la detección de abusos y la mejora del servicio. La dirección IP no se almacena en ningún momento. Solo sirve como valor de entrada de una función hash criptográfica cuya clave cambia cada 24 horas. El identificador de cliente así generado permite asignar a una sesión las solicitudes de un mismo día; después pierde esta relación, ya que la misma dirección da como resultado un identificador diferente al día siguiente. Ni siquiera nosotros podemos deducir la dirección original a partir del identificador. Almacenamos estos datos durante un período de 2 años.
Se registran: la marca de tiempo de la solicitud, el identificador de cliente anonimizado (valor hash) y el agente de usuario (User-Agent), el método MCP llamado y el nombre de la herramienta, la longitud de la consulta de búsqueda, la indicación de si la consulta parece estar en inglés, el número de resultados, la mejor puntuación obtenida, la duración y el estado de éxito. No se almacenan el contenido de la propia consulta de búsqueda, la dirección IP en texto plano, nombres, cuentas ni perfiles de usuario.
No se transmite ningún dato a terceros.
Se aplica además la política de privacidad general de Weisang.
Nota Aunque el contenido de la consulta de búsqueda no se almacena, sí se transmite al servidor o al asistente de IA para su procesamiento. Por ello, no incluya en la consulta contenidos confidenciales, datos de medición ni datos de clientes — de todos modos, una descripción breve y objetiva de lo que busca proporciona mejores resultados.
Condiciones de uso
Al utilizar el servidor MCP, acepta las Condiciones Generales de Weisang.
Soporte & contacto
Puede obtener asistencia a través de los canales de soporte y de descarga existentes en www.weisang.com.