Frasma
What this MCP does
Searches a consulting service knowledge base and prepares validated diagnostic or process-brief handoffs without sending them.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'locale': {'enum': ['it', 'en'], 'type': 'string', 'description': 'Response language: it or en. Defaults to it.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title', 'introduction', 'steps', 'fitCriteria', 'poorFitCriteria', 'commercialLimits'], 'properties': {'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'description', 'evidence'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}, 'fitCriteria': {'type': 'array', 'items': {'type': 'string'}}, 'introduction': {'type': 'string'}, 'poorFitCriteria': {'type': 'array', 'items': {'type': 'string'}}, 'commercialLimits': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'locale': {'enum': ['it', 'en'], 'type': 'string', 'description': 'Response language: it or en. Defaults to it.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'founder', 'location', 'languages', 'kind', 'description', 'focus', 'sectors', 'commercialLimits', 'discovery'], 'properties': {'kind': {'type': 'string'}, 'name': {'type': 'string', 'const': 'Frasma'}, 'focus': {'type': 'array', 'items': {'type': 'string'}}, 'founder': {'type': 'string', 'const': 'Francesco Saverio Mazzi'}, 'sectors': {'type': 'array', 'items': {'type': 'string'}}, 'location': {'type': 'string', 'const': 'Mantova, Italy'}, 'discovery': {'type': 'object', 'required': ['forAgents', 'llmsTxt', 'mcp', 'apiCatalog', 'openapi', 'agentSkills', 'status', 'chat'], 'properties': {'mcp': {'type': 'string'}, 'chat': {'type': 'string'}, 'status': {'type': 'string'}, 'llmsTxt': {'type': 'string'}, 'openapi': {'type': 'string'}, 'forAgents': {'type': 'string'}, 'apiCatalog': {'type': 'string'}, 'agentSkills': {'type': 'string'}}, 'additionalProperties': False}, 'languages': {'type': 'array', 'items': [{'type': 'string', 'const': 'it'}, {'type': 'string', 'const': 'en'}]}, 'description': {'type': 'string'}, 'commercialLimits': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['clientName', 'clientEmail', 'sector', 'process', 'currentWorkflow', 'bottlenecks', 'currentSystems', 'volumesAndFrequency', 'baselineMetrics', 'dataAvailable', 'constraints', 'desiredOutcomes', 'needCategories', 'opportunities', 'recommendations', 'openQuestions', 'nextSteps', 'language'], 'properties': {'sector': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Business sector, e.g. manufacturing or food quality.'}, 'process': {'type': 'string', 'maxLength': 240, 'minLength': 1, 'description': 'Short name of the process under diagnosis, e.g. delivery notes into ERP.'}, 'honeypot': {'type': 'string', 'maxLength': 0, 'description': 'Anti-spam trap. Must be empty or omitted.'}, 'language': {'enum': ['it', 'en'], 'type': 'string', 'description': 'Language of the diagnostic summary: it or en.'}, 'nextSteps': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Agreed next steps after reviewing this summary.'}, 'clientName': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Client full name.'}, 'bottlenecks': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Observed bottlenecks, one item per string.'}, 'clientEmail': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254, 'description': 'Client work email.'}, 'constraints': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Hard constraints, e.g. human validation before ERP import.'}, 'clientCompany': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Client company name, if known.'}, 'dataAvailable': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Data that can be shared for a prototype, preferably anonymized samples.'}, 'openQuestions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'description': 'Open questions still to confirm with the client.'}, 'opportunities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Concrete opportunities that follow from the evidence.'}, 'currentSystems': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Systems already in use, e.g. email, PDF, Mago Zucchetti.'}, 'needCategories': {'type': 'array', 'items': {'enum': ['document_erp', 'workflow', 'ticketing', 'dataset_benchmark', 'ai_optimization', 'company_wiki', 'ai_presence'], 'type': 'string', 'description': 'Frasma need category: document_erp, workflow, ticketing, dataset_benchmark, ai_optimization, company_wiki, or ai_presence.'}, 'maxItems': 7, 'minItems': 1, 'description': 'One or more Frasma need categories that fit the diagnosis.'}, 'baselineMetrics': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Baseline metrics before any Frasma work, e.g. minutes per document.'}, 'currentWorkflow': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'How the process is done today, including people, tools, and handoffs.'}, 'desiredOutcomes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Desired outcomes without invented savings or guarantees.'}, 'recommendations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Recommended next steps for a limited prototype or discovery.'}, 'volumesAndFrequency': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': 'Volumes and frequency, e.g. about 40 DDT per day.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary', 'completeness', 'handoff'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'handoff': {'type': 'object', 'required': ['chatUrl', 'emailEndpoint', 'instructions'], 'properties': {'chatUrl': {'type': 'string'}, 'instructions': {'type': 'string'}, 'emailEndpoint': {'type': 'string'}}, 'additionalProperties': False}, 'summary': {'type': 'object', 'required': ['clientName', 'clientEmail', 'sector', 'process', 'currentWorkflow', 'bottlenecks', 'currentSystems', 'volumesAndFrequency', 'baselineMetrics', 'dataAvailable', 'constraints', 'desiredOutcomes', 'needCategories', 'opportunities', 'recommendations', 'openQuestions', 'nextSteps', 'language'], 'properties': {'sector': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Business sector, e.g. manufacturing or food quality.'}, 'process': {'type': 'string', 'maxLength': 240, 'minLength': 1, 'description': 'Short name of the process under diagnosis, e.g. delivery notes into ERP.'}, 'honeypot': {'type': 'string', 'maxLength': 0, 'description': 'Anti-spam trap. Must be empty or omitted.'}, 'language': {'enum': ['it', 'en'], 'type': 'string', 'description': 'Language of the diagnostic summary: it or en.'}, 'nextSteps': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Agreed next steps after reviewing this summary.'}, 'clientName': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Client full name.'}, 'bottlenecks': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Observed bottlenecks, one item per string.'}, 'clientEmail': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254, 'description': 'Client work email.'}, 'constraints': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Hard constraints, e.g. human validation before ERP import.'}, 'clientCompany': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Client company name, if known.'}, 'dataAvailable': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Data that can be shared for a prototype, preferably anonymized samples.'}, 'openQuestions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'description': 'Open questions still to confirm with the client.'}, 'opportunities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Concrete opportunities that follow from the evidence.'}, 'currentSystems': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Systems already in use, e.g. email, PDF, Mago Zucchetti.'}, 'needCategories': {'type': 'array', 'items': {'enum': ['document_erp', 'workflow', 'ticketing', 'dataset_benchmark', 'ai_optimization', 'company_wiki', 'ai_presence'], 'type': 'string', 'description': 'Frasma need category: document_erp, workflow, ticketing, dataset_benchmark, ai_optimization, company_wiki, or ai_presence.'}, 'maxItems': 7, 'minItems': 1, 'description': 'One or more Frasma need categories that fit the diagnosis.'}, 'baselineMetrics': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Baseline metrics before any Frasma work, e.g. minutes per document.'}, 'currentWorkflow': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'How the process is done today, including people, tools, and handoffs.'}, 'desiredOutcomes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Desired outcomes without invented savings or guarantees.'}, 'recommendations': {'type': 'array', 'items': {'type': 'string', 'maxLength': 800, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Recommended next steps for a limited prototype or discovery.'}, 'volumesAndFrequency': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': 'Volumes and frequency, e.g. about 40 DDT per day.'}}, 'additionalProperties': False}, 'completeness': {'type': 'object', 'required': ['missingFields', 'score'], 'properties': {'score': {'type': 'number'}, 'missingFields': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'clientEmail', 'process'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Client full name.'}, 'role': {'type': 'string', 'maxLength': 120, 'description': 'Client role, if known.'}, 'volume': {'type': 'string', 'maxLength': 500, 'description': 'Volumes or frequency, e.g. 80 documents per week.'}, 'company': {'type': 'string', 'maxLength': 120, 'description': 'Client company name, if known.'}, 'process': {'type': 'string', 'maxLength': 2000, 'minLength': 20, 'description': 'Process to evaluate, at least 20 characters: trigger, work today, and desired outcome.'}, 'systems': {'type': 'string', 'maxLength': 500, 'description': 'Systems already in use, e.g. Outlook and ERP.'}, 'clientEmail': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254, 'description': 'Client work email.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'brief', 'handoff'], 'properties': {'ok': {'type': 'boolean', 'const': True}, 'brief': {'type': 'object', 'required': ['name', 'clientEmail', 'process'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Client full name.'}, 'role': {'type': 'string', 'maxLength': 120, 'description': 'Client role, if known.'}, 'volume': {'type': 'string', 'maxLength': 500, 'description': 'Volumes or frequency, e.g. 80 documents per week.'}, 'company': {'type': 'string', 'maxLength': 120, 'description': 'Client company name, if known.'}, 'process': {'type': 'string', 'maxLength': 2000, 'minLength': 20, 'description': 'Process to evaluate, at least 20 characters: trigger, work today, and desired outcome.'}, 'systems': {'type': 'string', 'maxLength': 500, 'description': 'Systems already in use, e.g. Outlook and ERP.'}, 'clientEmail': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254, 'description': 'Client work email.'}}, 'additionalProperties': False}, 'handoff': {'type': 'object', 'required': ['chatUrl', 'emailEndpoint', 'instructions'], 'properties': {'chatUrl': {'type': 'string'}, 'instructions': {'type': 'string'}, 'emailEndpoint': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Search query for verified Frasma knowledge, e.g. DDT ERP or HACCP procedures.'}, 'locale': {'enum': ['it', 'en'], 'type': 'string', 'description': 'Response language: it or en. Defaults to it.'}, 'pagePath': {'type': 'string', 'pattern': '^\\/.*', 'description': 'Optional canonical site path to scope results, e.g. /servizi/ddt-erp.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'category', 'title', 'summary', 'details', 'score'], 'properties': {'id': {'type': 'string'}, 'score': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'title': {'type': 'string'}, 'details': {'type': 'array', 'items': {'type': 'string'}}, 'summary': {'type': 'string'}, 'category': {'enum': ['profile', 'service', 'case-study', 'sector', 'methodology', 'fit', 'commercial-limit'], 'type': 'string'}}, 'additionalProperties': False}, 'description': 'Ranked knowledge matches for the query.'}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
mcp
Manages Nestr workspaces, roles, circles, tensions, governance proposals, comments, daily plans, graph relationships, agents, and…
ALM X++ MCP Server
Supports D365 Finance and Operations development with X++ and AOT search, code analysis, Azure DevOps workflows, telemetry querie…
StackFast FractWin Expert Brain
Provides governed sales, negotiation, strategy, operations, CRM, estimation, artifact, and risk-management workflows with human a…
Vendor Signals
Tracks changes in vendor documentation and changelogs to provide account and vendor signals.
Tiflux
Manages Tiflux help-desk operations including tickets, replies, internal notes, clients, assignments, SLAs, time entries, contrac…
mcp
Provides public company and service information, knowledge-base search, standards and warranty references, estimate intake, photo…
Decision Log
Records append-only decisions with provenance, supersession tracking, retrieval, and audited actions.