Frasma
Read-only Frasma MCP: profile, knowledge search, diagnostic handoff. No email.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin get_frasma_profile
- LOWin get_diagnostic_framework
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"frasma": {
"url": "https://www.frasma.org/api/mcp"
}
}
}Remote-Endpunkte
https://www.frasma.org/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (5)
🟢get_frasma_profile(locale)
Returns the verified public profile, focus areas, sectors, commercial boundaries, and discovery URLs for Frasma.
Eingabe-Schema
{
"type": "object",
"properties": {
"locale": {
"description": "Response language: it or en. Defaults to it.",
"type": "string",
"enum": [
"it",
"en"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"const": "Frasma"
},
"founder": {
"type": "string",
"const": "Francesco Saverio Mazzi"
},
"location": {
"type": "string",
"const": "Mantova, Italy"
},
"languages": {
"type": "array",
"items": [
{
"type": "string",
"const": "it"
},
{
"type": "string",
"const": "en"
}
]
},
"kind": {
"type": "string"
},
"description": {
"type": "string"
},
"focus": {
"type": "array",
"items": {
"type": "string"
}
},
"sectors": {
"type": "array",
"items": {
"type": "string"
}
},
"commercialLimits": {
"type": "array",
"items": {
"type": "string"
}
},
"discovery": {
"type": "object",
"properties": {
"forAgents": {
"type": "string"
},
"llmsTxt": {
"type": "string"
},
"mcp": {
"type": "string"
},
"apiCatalog": {
"type": "string"
},
"openapi": {
"type": "string"
},
"agentSkills": {
"type": "string"
},
"status": {
"type": "string"
},
"chat": {
"type": "string"
}
},
"required": [
"forAgents",
"llmsTxt",
"mcp",
"apiCatalog",
"openapi",
"agentSkills",
"status",
"chat"
],
"additionalProperties": false
}
},
"required": [
"name",
"founder",
"location",
"languages",
"kind",
"description",
"focus",
"sectors",
"commercialLimits",
"discovery"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢search_frasma_knowledge(query, locale, pagePath)
Searches verified Frasma services, sectors, case studies, methodology, fit criteria, and commercial boundaries. Use before making factual claims.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Search query for verified Frasma knowledge, e.g. DDT ERP or HACCP procedures."
},
"locale": {
"description": "Response language: it or en. Defaults to it.",
"type": "string",
"enum": [
"it",
"en"
]
},
"pagePath": {
"description": "Optional canonical site path to scope results, e.g. /servizi/ddt-erp.",
"type": "string",
"pattern": "^\\/.*"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"profile",
"service",
"case-study",
"sector",
"methodology",
"fit",
"commercial-limit"
]
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"type": "string"
}
},
"score": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"category",
"title",
"summary",
"details",
"score"
],
"additionalProperties": false
},
"description": "Ranked knowledge matches for the query."
}
},
"required": [
"results"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_diagnostic_framework(locale)
Returns the diagnostic method, evidence to collect, fit criteria, and commercial limits.
Eingabe-Schema
{
"type": "object",
"properties": {
"locale": {
"description": "Response language: it or en. Defaults to it.",
"type": "string",
"enum": [
"it",
"en"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"introduction": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"evidence": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"title",
"description",
"evidence"
],
"additionalProperties": false
}
},
"fitCriteria": {
"type": "array",
"items": {
"type": "string"
}
},
"poorFitCriteria": {
"type": "array",
"items": {
"type": "string"
}
},
"commercialLimits": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"title",
"introduction",
"steps",
"fitCriteria",
"poorFitCriteria",
"commercialLimits"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢prepare_diagnostic_summary(clientName, clientEmail, clientCompany, sector, process, ...)
Validates a complete diagnostic summary and returns a handoff payload. Does not send email. Map the diagnosis to a process brief; the user must confirm before POST /api/request-process-assessment.
Eingabe-Schema
{
"type": "object",
"properties": {
"clientName": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Client full name."
},
"clientEmail": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Client work email."
},
"clientCompany": {
"description": "Client company name, if known.",
"type": "string",
"minLength": 1,
"maxLength": 160
},
"sector": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"description": "Business sector, e.g. manufacturing or food quality."
},
"process": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"description": "Short name of the process under diagnosis, e.g. delivery notes into ERP."
},
"currentWorkflow": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "How the process is done today, including people, tools, and handoffs."
},
"bottlenecks": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Observed bottlenecks, one item per string."
},
"currentSystems": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Systems already in use, e.g. email, PDF, Mago Zucchetti."
},
"volumesAndFrequency": {
"type": "string",
"minLength": 1,
"maxLength": 1000,
"description": "Volumes and frequency, e.g. about 40 DDT per day."
},
"baselineMetrics": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Baseline metrics before any Frasma work, e.g. minutes per document."
},
"dataAvailable": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Data that can be shared for a prototype, preferably anonymized samples."
},
"constraints": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Hard constraints, e.g. human validation before ERP import."
},
"desiredOutcomes": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Desired outcomes without invented savings or guarantees."
},
"needCategories": {
"minItems": 1,
"maxItems": 7,
"type": "array",
"items": {
"type": "string",
"enum": [
"document_erp",
"workflow",
"ticketing",
"dataset_benchmark",
"ai_optimization",
"company_wiki",
"ai_presence"
],
"description": "Frasma need category: document_erp, workflow, ticketing, dataset_benchmark, ai_optimization, company_wiki, or ai_presence."
},
"description": "One or more Frasma need categories that fit the diagnosis."
},
"opportunities": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Concrete opportunities that follow from the evidence."
},
"recommendations": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Recommended next steps for a limited prototype or discovery."
},
"openQuestions": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Open questions still to confirm with the client."
},
"nextSteps": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Agreed next steps after reviewing this summary."
},
"language": {
"type": "string",
"enum": [
"it",
"en"
],
"description": "Language of the diagnostic summary: it or en."
},
"honeypot": {
"description": "Anti-spam trap. Must be empty or omitted.",
"type": "string",
"maxLength": 0
}
},
"required": [
"clientName",
"clientEmail",
"sector",
"process",
"currentWorkflow",
"bottlenecks",
"currentSystems",
"volumesAndFrequency",
"baselineMetrics",
"dataAvailable",
"constraints",
"desiredOutcomes",
"needCategories",
"opportunities",
"recommendations",
"openQuestions",
"nextSteps",
"language"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"summary": {
"type": "object",
"properties": {
"clientName": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Client full name."
},
"clientEmail": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Client work email."
},
"clientCompany": {
"description": "Client company name, if known.",
"type": "string",
"minLength": 1,
"maxLength": 160
},
"sector": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"description": "Business sector, e.g. manufacturing or food quality."
},
"process": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"description": "Short name of the process under diagnosis, e.g. delivery notes into ERP."
},
"currentWorkflow": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "How the process is done today, including people, tools, and handoffs."
},
"bottlenecks": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Observed bottlenecks, one item per string."
},
"currentSystems": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Systems already in use, e.g. email, PDF, Mago Zucchetti."
},
"volumesAndFrequency": {
"type": "string",
"minLength": 1,
"maxLength": 1000,
"description": "Volumes and frequency, e.g. about 40 DDT per day."
},
"baselineMetrics": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Baseline metrics before any Frasma work, e.g. minutes per document."
},
"dataAvailable": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Data that can be shared for a prototype, preferably anonymized samples."
},
"constraints": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Hard constraints, e.g. human validation before ERP import."
},
"desiredOutcomes": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Desired outcomes without invented savings or guarantees."
},
"needCategories": {
"minItems": 1,
"maxItems": 7,
"type": "array",
"items": {
"type": "string",
"enum": [
"document_erp",
"workflow",
"ticketing",
"dataset_benchmark",
"ai_optimization",
"company_wiki",
"ai_presence"
],
"description": "Frasma need category: document_erp, workflow, ticketing, dataset_benchmark, ai_optimization, company_wiki, or ai_presence."
},
"description": "One or more Frasma need categories that fit the diagnosis."
},
"opportunities": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Concrete opportunities that follow from the evidence."
},
"recommendations": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Recommended next steps for a limited prototype or discovery."
},
"openQuestions": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Open questions still to confirm with the client."
},
"nextSteps": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 800
},
"description": "Agreed next steps after reviewing this summary."
},
"language": {
"type": "string",
"enum": [
"it",
"en"
],
"description": "Language of the diagnostic summary: it or en."
},
"honeypot": {
"description": "Anti-spam trap. Must be empty or omitted.",
"type": "string",
"maxLength": 0
}
},
"required": [
"clientName",
"clientEmail",
"sector",
"process",
"currentWorkflow",
"bottlenecks",
"currentSystems",
"volumesAndFrequency",
"baselineMetrics",
"dataAvailable",
"constraints",
"desiredOutcomes",
"needCategories",
"opportunities",
"recommendations",
"openQuestions",
"nextSteps",
"language"
],
"additionalProperties": false
},
"completeness": {
"type": "object",
"properties": {
"missingFields": {
"type": "array",
"items": {
"type": "string"
}
},
"score": {
"type": "number"
}
},
"required": [
"missingFields",
"score"
],
"additionalProperties": false
},
"handoff": {
"type": "object",
"properties": {
"chatUrl": {
"type": "string"
},
"emailEndpoint": {
"type": "string"
},
"instructions": {
"type": "string"
}
},
"required": [
"chatUrl",
"emailEndpoint",
"instructions"
],
"additionalProperties": false
}
},
"required": [
"ok",
"summary",
"completeness",
"handoff"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢prepare_project_brief(name, clientEmail, company, role, process, ...)
Validates the process brief used for a quote (name, email, process, optional company/role/systems/volume). Does not send email. The user must confirm before POST /api/request-process-assessment.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Client full name."
},
"clientEmail": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Client work email."
},
"company": {
"description": "Client company name, if known.",
"type": "string",
"maxLength": 120
},
"role": {
"description": "Client role, if known.",
"type": "string",
"maxLength": 120
},
"process": {
"type": "string",
"minLength": 20,
"maxLength": 2000,
"description": "Process to evaluate, at least 20 characters: trigger, work today, and desired outcome."
},
"systems": {
"description": "Systems already in use, e.g. Outlook and ERP.",
"type": "string",
"maxLength": 500
},
"volume": {
"description": "Volumes or frequency, e.g. 80 documents per week.",
"type": "string",
"maxLength": 500
}
},
"required": [
"name",
"clientEmail",
"process"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"brief": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Client full name."
},
"clientEmail": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Client work email."
},
"company": {
"description": "Client company name, if known.",
"type": "string",
"maxLength": 120
},
"role": {
"description": "Client role, if known.",
"type": "string",
"maxLength": 120
},
"process": {
"type": "string",
"minLength": 20,
"maxLength": 2000,
"description": "Process to evaluate, at least 20 characters: trigger, work today, and desired outcome."
},
"systems": {
"description": "Systems already in use, e.g. Outlook and ERP.",
"type": "string",
"maxLength": 500
},
"volume": {
"description": "Volumes or frequency, e.g. 80 documents per week.",
"type": "string",
"maxLength": 500
}
},
"required": [
"name",
"clientEmail",
"process"
],
"additionalProperties": false
},
"handoff": {
"type": "object",
"properties": {
"chatUrl": {
"type": "string"
},
"emailEndpoint": {
"type": "string"
},
"instructions": {
"type": "string"
}
},
"required": [
"chatUrl",
"emailEndpoint",
"instructions"
],
"additionalProperties": false
}
},
"required": [
"ok",
"brief",
"handoff"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Nachweis