OI AI Adoption

Advice on bringing AI into work processes, with sourced effects, risks and rules for SI, HR, DE, AT

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
96%
Naming quality
85%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~4,295Tokens (tool definitions)
~5.4 KBTypical response size
Significant attention impact (3.36% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ai-adoption": {
      "url": "https://operative-intelligence.com/ai-adoption"
    }
  }
}

Remote endpoints

https://operative-intelligence.com/ai-adoptionstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_readiness_questions(lang)

Returns the self-assessment questions on AI readiness in four areas (data, processes, people, compliance), each with its id, the reason it is asked and the allowed answer options. Answers are option ids, not free text.

Input Schema

{
  "type": "object",
  "properties": {
    "lang": {
      "default": "en",
      "description": "Language of the result: sl, en, de or hr. Texts not yet translated are returned in English and marked in the result.",
      "type": "string",
      "enum": [
        "sl",
        "en",
        "de",
        "hr"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢assess_ai_readiness(answers, lang)

Scores the answers from get_readiness_questions with fixed rules: a level from 0 to 4 per area, the rule behind each limit, the gaps found and a next step for each gap. Unanswered areas are reported as not assessed. The result is a self-assessment.

Input Schema

{
  "type": "object",
  "properties": {
    "answers": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 64
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 64
      },
      "description": "Answers keyed by question id, each value an option id from get_readiness_questions"
    },
    "lang": {
      "default": "en",
      "description": "Language of the result: sl, en, de or hr. Texts not yet translated are returned in English and marked in the result.",
      "type": "string",
      "enum": [
        "sl",
        "en",
        "de",
        "hr"
      ]
    }
  },
  "required": [
    "answers"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢estimate_ai_costs(country, process_hours_per_week, task_type, own_savings_share, external, ...)

Estimates the costs of introducing AI, shown separately as external costs (contractor, DPIA, legal review, AI literacy training), internal staff time, licences per month and operations per month (hosting, model usage, maintenance), and the payback period in three savings scenarios. Public data with source and retrieval date: Eurostat labour costs (for internal staff time only), published licence, hosting and model price lists, the ECB exchange rate, and savings effects from four published studies. Amounts without a reliable public source are inputs; when they are missing, the result lists them and does not assume values. Also names, per country (SI, AT, DE, HR), where to check current public funding calls for digitalisation and AI; it gives no amounts and does not say whether any call is open.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "default": "SI",
      "description": "ISO country code: SI, AT, DE or HR; otherwise the EU average",
      "type": "string",
      "pattern": "^[A-Z]{2}$"
    },
    "process_hours_per_week": {
      "type": "number",
      "minimum": 0,
      "maximum": 10000,
      "description": "Hours per week currently spent on the process"
    },
    "task_type": {
      "description": "Type of work, to apply the effect measured in a published study",
      "type": "string",
      "enum": [
        "customer_support",
        "professional_writing",
        "knowledge_work",
        "software_development"
      ]
    },
    "own_savings_share": {
      "description": "Own estimate of the share of process time saved; replaces the study",
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "external": {
      "type": "object",
      "properties": {
        "hourly_rate_eur": {
          "type": "number",
          "minimum": 0,
          "maximum": 2000
        },
        "hours": {
          "type": "number",
          "minimum": 0,
          "maximum": 100000
        }
      }
    },
    "compliance": {
      "type": "object",
      "properties": {
        "dpia_eur": {
          "type": "number",
          "minimum": 0
        },
        "legal_review_eur": {
          "type": "number",
          "minimum": 0
        },
        "ai_literacy_training_eur": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "internal_hours": {
      "type": "object",
      "properties": {
        "workshops": {
          "type": "number",
          "minimum": 0
        },
        "data_preparation": {
          "type": "number",
          "minimum": 0
        },
        "training": {
          "type": "number",
          "minimum": 0
        },
        "internal_it": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "internal_hourly_cost_eur": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000
    },
    "internal_it_hourly_cost_eur": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000
    },
    "licence": {
      "type": "object",
      "properties": {
        "product": {
          "type": "string",
          "enum": [
            "claude_team_standard",
            "claude_team_premium",
            "microsoft_365_copilot_business",
            "google_workspace_business_standard",
            "chatgpt_business",
            "chatgpt_business_premium"
          ]
        },
        "users": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100000
        },
        "billing": {
          "type": "string",
          "enum": [
            "annual",
            "monthly"
          ]
        },
        "own_price_eur_per_user_month": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "product",
        "users"
      ]
    },
    "hosting": {
      "type": "object",
      "properties": {
        "plan": {
          "type": "string",
          "enum": [
            "digitalocean_basic_2gb",
            "digitalocean_basic_4gb",
            "digitalocean_basic_8gb",
            "hetzner_regular_performance",
            "hetzner_general_purpose"
          ]
        },
        "own_eur_per_month": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "model_usage": {
      "type": "object",
      "properties": {
        "requests_per_day": {
          "type": "number",
          "minimum": 0,
          "maximum": 10000000
        },
        "tokens_in": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "tokens_out": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "tier": {
          "type": "string",
          "enum": [
            "basic",
            "standard",
            "advanced"
          ]
        },
        "own_price_eur_per_mtok": {
          "type": "object",
          "properties": {
            "input": {
              "type": "number",
              "minimum": 0
            },
            "output": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "input",
            "output"
          ]
        }
      },
      "required": [
        "requests_per_day"
      ]
    },
    "maintenance_eur_per_month": {
      "type": "number",
      "minimum": 0
    },
    "lang": {
      "default": "en",
      "description": "Language of the result: sl, en, de or hr. Texts not yet translated are returned in English and marked in the result.",
      "type": "string",
      "enum": [
        "sl",
        "en",
        "de",
        "hr"
      ]
    }
  },
  "required": [
    "process_hours_per_week"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢plan_ai_rollout(pattern, answers, lang)

Returns a phased rollout plan (discovery, pilot, rollout, operations) with tasks, roles in RACI form, risks and indicators for the chosen implementation pattern. When readiness answers are given, preparation tasks for areas at level 0 or 1 are added to the discovery phase.

Input Schema

{
  "type": "object",
  "properties": {
    "pattern": {
      "type": "string",
      "enum": [
        "assistant_connector",
        "workflow_automation",
        "custom_application"
      ],
      "description": "Implementation pattern"
    },
    "answers": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 64
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 64
      },
      "description": "Answers keyed by question id, each value an option id from get_readiness_questions"
    },
    "lang": {
      "default": "en",
      "description": "Language of the result: sl, en, de or hr. Texts not yet translated are returned in English and marked in the result.",
      "type": "string",
      "enum": [
        "sl",
        "en",
        "de",
        "hr"
      ]
    }
  },
  "required": [
    "pattern"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adoption_list_process_types(lang)

Returns the six process types of the knowledge base (data capture, communication, documents, planning, control, knowledge) with a definition and the ids of the adoption patterns of each type.

Input Schema

{
  "type": "object",
  "properties": {
    "lang": {
      "default": "en",
      "description": "Language of the result: sl, en, de or hr. Texts not yet translated are returned in English and marked in the result.",
      "type": "string",
      "enum": [
        "sl",
        "en",
        "de",
        "hr"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adoption_find_patterns(description, task, properties, process_type, user_unsure, ...)

Advises on using AI in a process the user describes, from a curated knowledge base with sources. The caller passes the description, the task that best matches it and the process properties it states; the server selects deterministically and does not use a language model. The result puts questions to ask first (ask_first) at the top, then one recommended way as a workflow (recommendation: how it would work, what it brings with sourced effects only, what is needed, what to watch out for, a first step), at most two alternatives, and an internal part with ids, evidence levels and sources. For a general question without a concrete process, task general_question returns two business questions and no recommendation yet; with user_unsure true it returns simpler questions and example tasks.

Input Schema

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000,
      "description": "The user's description of the process, unchanged"
    },
    "task": {
      "description": "The task that best matches the description. One of: general_question: a general question without a concrete process (for example how to introduce AI in the business); voice_entry: Entering data into a form by voice instead of typing; data_entry_from_documents: Taking data from incoming documents (orders, invoices, delivery notes) into the ERP; mail_routing: Sorting incoming e-mail and documents to the right person or team; register_checks: Checking and completing customer and supplier data from official registers; goods_receipt: Receiving goods with a photo of the delivery note and weighing; customer_questions: Answering frequent customer questions; email_reply_drafts: Preparing replies to incoming e-mail; complete_requests: Collecting all the details of a request before it is handed over; quote_from_inquiry: Preparing a quote from a customer inquiry; lead_finding: Finding and qualifying potential customers; bookings_reminders: Online booking of appointments with reminders; summarise_documents: Summarising long documents into the points that matter; documents_from_templates: Creating documents such as quotes or reports from templates; compare_documents: Comparing documents and finding deviations; translate_documents: Translating technical documents; demand_forecast: Forecasting demand; shift_scheduling: Planning shifts while respecting rules and wishes; resource_scheduling: Scheduling vehicles, machines or rooms; stock_replenishment: Deciding how much stock to order; deal_margin: Seeing the margin of each deal or project; anomaly_detection: Catching duplicate invoices and unusual costs; purchasing_analysis: Analysing purchases and consumption; digital_checklists: Replacing paper checklists with digital ones (for example HACCP, vehicle checks); ai_compliance_check: Checking whether your use of AI complies with the rules; internal_document_search: Finding answers in internal instructions and policies; assistant_connected_to_systems: Letting the assistant you already pay for read your company systems; employee_onboarding: Onboarding new employees; professional_decision_support: Supporting professional decisions (clinical, technical)",
      "type": "string",
      "enum": [
        "general_question",
        "voice_entry",
        "data_entry_from_documents",
        "mail_routing",
        "register_checks",
        "goods_receipt",
        "customer_questions",
        "email_reply_drafts",
        "complete_requests",
        "quote_from_inquiry",
        "lead_finding",
        "bookings_reminders",
        "summarise_documents",
        "documents_from_templates",
        "compare_documents",
        "translate_documents",
        "demand_forecast",
        "shift_scheduling",
        "resource_scheduling",
        "stock_replenishment",
        "deal_margin",
        "anomaly_detection",
        "purchasing_analysis",
        "digital_checklists",
        "ai_compliance_check",
        "internal_document_search",
        "assistant_connected_to_systems",
        "employee_onboarding",
        "professional_decision_support"
      ]
    },
    "properties": {
      "description": "Process properties the description states; leave out what it does not say",
      "type": "object",
      "properties": {
        "country": {
          "description": "In which country does the process run?",
          "type": "string",
          "enum": [
            "SI",
            "AT",
            "DE",
            "HR",
            "other_eu"
          ]
        },
        "monthly_volume": {
          "description": "How many cases does the process handle per month? (cases per month)",
          "type": "number",
          "minimum": 0
        },
        "load_variability": {
          "description": "How much does the workload vary between days or weeks?",
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high"
          ]
        },
        "input_structure": {
          "description": "In what form does the input arrive?",
          "type": "string",
          "enum": [
            "structured",
            "semi_structured",
            "unstructured"
          ]
        },
        "error_cost": {
          "description": "How costly is an undetected error in the output?",
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high"
          ]
        },
        "regulated_domain": {
          "description": "Is the process subject to sector regulation (for example health or finance)?",
          "type": "boolean"
        },
        "personal_data": {
          "description": "Does the process handle personal data?",
          "type": "boolean"
        },
        "entry_device": {
          "description": "On what device do people enter the data?",
          "type": "string",
          "enum": [
            "phone",
            "desktop",
            "hands_free"
          ]
        },
        "entry_length": {
          "description": "Are entries short (a few fields or sentences) or long (full documents)?",
          "type": "string",
          "enum": [
            "short",
            "long"
          ]
        },
        "structured_einvoice_share": {
          "description": "What share of incoming invoices already arrives as structured e-invoices?",
          "type": "string",
          "enum": [
            "none",
            "some",
            "most"
          ]
        },
        "decision_logic": {
          "description": "Will the solution follow fixed rules and an optimisation method, or learn from data or use a language model?",
          "type": "string",
          "enum": [
            "fixed_rules_or_optimisation",
            "machine_learning_or_llm"
          ]
        },
        "allocates_by_personal_traits": {
          "description": "Does the solution allocate work based on individual behaviour, performance or personal traits?",
          "type": "boolean"
        },
        "works_council": {
          "description": "Is there a works council or workers' representative?",
          "type": "boolean"
        },
        "schedule_change_frequency": {
          "description": "How often do schedules change after they are published?",
          "type": "string",
          "enum": [
            "rare",
            "weekly",
            "daily"
          ]
        },
        "access_restricted_documents": {
          "description": "Are some documents visible only to certain people or groups?",
          "type": "boolean"
        },
        "document_kind": {
          "description": "What kind of documents are processed?",
          "type": "string",
          "enum": [
            "domestic_invoices",
            "foreign_invoices",
            "other_documents"
          ]
        },
        "horizon_year": {
          "description": "Until which year should the solution remain in use? (year)",
          "type": "number",
          "minimum": 0
        },
        "customer_facing": {
          "description": "Do customers or other external people interact with the solution directly?",
          "type": "boolean"
        },
        "handles_job_applications": {
          "description": "Can the incoming messages include job applications?",
          "type": "boolean"
        },
        "prices_from_system": {
          "description": "Do prices and discounts come from a business system (price list, ERP) rather than being written by hand?",
          "type": "boolean"
        },
        "write_actions": {
          "description": "Should the assistant be able to change data or trigger actions in company systems, not only read?",
          "type": "boolean"
        },
        "cost_data_per_deal": {
          "description": "Are costs (material, hours, transport) already recorded per deal or project?",
          "type": "boolean"
        },
        "cross_border_eu": {
          "description": "Are some customers businesses in another EU Member State?",
          "type": "boolean"
        },
        "weighing_for_billing": {
          "description": "Is the measured weight used for invoicing or payment?",
          "type": "boolean"
        },
        "food_business": {
          "description": "Is the organisation a food business?",
          "type": "boolean"
        },
        "sends_marketing_email": {
          "description": "Will found contacts receive marketing email?",
          "type": "boolean"
        },
        "contacts_natural_persons": {
          "description": "Are the contacts natural persons (named individuals or sole traders) rather than only company addresses?",
          "type": "boolean"
        },
        "road_transport": {
          "description": "Are vehicles with drivers subject to EU drivers' hours rules planned?",
          "type": "boolean"
        },
        "assigns_people": {
          "description": "Does the planning assign people (not only vehicles, machines or rooms)?",
          "type": "boolean"
        },
        "employee_expense_items": {
          "description": "Are employee expense claims, card transactions or travel costs among the checked items?",
          "type": "boolean"
        },
        "labelled_irregularities": {
          "description": "Are past cases already marked as errors or irregularities (for example corrected duplicates)?",
          "type": "boolean"
        },
        "line_level_purchase_data": {
          "description": "Are purchases available per line (item, quantity, price), for example from e-invoices or the ERP?",
          "type": "boolean"
        },
        "work_equipment_inspections": {
          "description": "Do the checklists include inspections of work equipment or vehicles?",
          "type": "boolean"
        },
        "medical_purpose": {
          "description": "Is the output used for diagnosis, prevention, prediction or treatment of people?",
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "process_type": {
      "description": "Optional filter by process type",
      "type": "string",
      "enum": [
        "data_capture",
        "communication",
        "documents",
        "planning",
        "control",
        "knowledge"
      ]
    },
    "user_unsure": {
      "description": "Only for task general_question: true after the user said they do not know; returns simple questions and example tasks",
      "type": "boolean"
    },
    "lang": {
      "default": "en",
      "description": "Language of the result: sl, en, de or hr. Texts not yet translated are returned in English and marked in the result.",
      "type": "string",
      "enum": [
        "sl",
        "en",
        "de",
        "hr"
      ]
    }
  },
  "required": [
    "description"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adoption_get_pattern(id, sections, lang)

Returns the user-facing recommendation for one pattern (workflow, sourced effects, needs, risks, a first step) and, in an internal part, the full pattern with every claim resolved to its sources (title, publisher, URL, date read, location) and evidence level, or marked as having no source. The internal part answers questions such as what the advice is based on.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "enum": [
        "P01",
        "P02",
        "P03",
        "P04",
        "P05",
        "P06",
        "P07",
        "P08",
        "P09",
        "P10",
        "P11",
        "P12",
        "P13",
        "P14",
        "P15",
        "P16",
        "P17",
        "P18",
        "P19",
        "P20",
        "P21",
        "P22",
        "P23",
        "P24",
        "P25",
        "P26",
        "P27",
        "P28"
      ],
      "description": "Pattern id, e.g. P01"
    },
    "sections": {
      "description": "Sections of the internal part to return; when left out: approaches, prerequisites, effect, risks, compliance",
      "maxItems": 11,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "activities",
          "problem",
          "fit",
          "approaches",
          "prerequisites",
          "implementation",
          "operation",
          "effect",
          "risks",
          "typical_mistakes",
          "compliance"
        ]
      }
    },
    "lang": {
      "default": "en",
      "description": "Language of the result: sl, en, de or hr. Texts not yet translated are returned in English and marked in the result.",
      "type": "string",
      "enum": [
        "sl",
        "en",
        "de",
        "hr"
      ]
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adoption_get_regulations(country, pattern_id, lang)

Returns the EU and national provisions in the regulation register for the chosen country, optionally only those linked to one pattern, each with what it requires in plain words, the article, the date checked and a link to the official text.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "SI",
        "AT",
        "DE",
        "HR"
      ],
      "description": "Country: SI, AT, DE or HR"
    },
    "pattern_id": {
      "description": "Only provisions linked to this pattern",
      "type": "string",
      "enum": [
        "P01",
        "P02",
        "P03",
        "P04",
        "P05",
        "P06",
        "P07",
        "P08",
        "P09",
        "P10",
        "P11",
        "P12",
        "P13",
        "P14",
        "P15",
        "P16",
        "P17",
        "P18",
        "P19",
        "P20",
        "P21",
        "P22",
        "P23",
        "P24",
        "P25",
        "P26",
        "P27",
        "P28"
      ]
    },
    "lang": {
      "default": "en",
      "description": "Language of the result: sl, en, de or hr. Texts not yet translated are returned in English and marked in the result.",
      "type": "string",
      "enum": [
        "sl",
        "en",
        "de",
        "hr"
      ]
    }
  },
  "required": [
    "country"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools