@codai/romai-mcp
Version:
ROMAI Ultimate MCP Server - All-in-One Enterprise Solution with 26+ Integrated Tools
1,279 lines (1,156 loc) • 46.5 kB
JavaScript
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
import { loadConfigFromEnv, RomaiCore } from '@codai/romai-core';
// src/enhanced-server.ts
var RomaiMcpServerEnhanced = class {
server;
romaiCore;
constructor() {
this.server = new Server(
{
name: "romai-mcp-enhanced",
version: "0.2.0"
},
{
capabilities: {
tools: {},
resources: {},
prompts: {}
}
}
);
const config = loadConfigFromEnv();
this.romaiCore = new RomaiCore(config);
this.setupToolHandlers();
this.setupResourceHandlers();
this.setupPromptHandlers();
this.setupErrorHandling();
}
setupResourceHandlers() {
this.server.setRequestHandler(ListResourcesRequestSchema, async () => {
return {
resources: [
{
uri: "romai://romania/business-guide",
name: "Romanian Business Guide",
description: "Comprehensive guide for doing business in Romania",
mimeType: "text/markdown"
},
{
uri: "romai://romania/cultural-insights",
name: "Romanian Cultural Insights",
description: "Cultural context and etiquette for Romanian business",
mimeType: "text/markdown"
},
{
uri: "romai://romania/legal-framework",
name: "Romanian Legal Framework",
description: "Overview of Romanian business law and regulations",
mimeType: "text/markdown"
},
{
uri: "romai://templates/business-email-ro",
name: "Romanian Business Email Templates",
description: "Professional email templates in Romanian",
mimeType: "text/markdown"
},
{
uri: "romai://data/market-analysis",
name: "Romanian Market Analysis Data",
description: "Current market trends and analysis for Romania",
mimeType: "application/json"
}
]
};
});
this.server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
const { uri } = request.params;
switch (uri) {
case "romai://romania/business-guide":
return {
contents: [
{
uri,
mimeType: "text/markdown",
text: await this.getBusinessGuideContent()
}
]
};
case "romai://romania/cultural-insights":
return {
contents: [
{
uri,
mimeType: "text/markdown",
text: await this.getCulturalInsightsContent()
}
]
};
case "romai://romania/legal-framework":
return {
contents: [
{
uri,
mimeType: "text/markdown",
text: await this.getLegalFrameworkContent()
}
]
};
case "romai://templates/business-email-ro":
return {
contents: [
{
uri,
mimeType: "text/markdown",
text: await this.getEmailTemplatesContent()
}
]
};
case "romai://data/market-analysis":
return {
contents: [
{
uri,
mimeType: "application/json",
text: JSON.stringify(await this.getMarketAnalysisData(), null, 2)
}
]
};
default:
throw new Error(`Resource not found: ${uri}`);
}
});
}
setupPromptHandlers() {
this.server.setRequestHandler(ListPromptsRequestSchema, async () => {
return {
prompts: [
{
name: "romanian-business-analysis",
description: "Analyze business opportunities in Romanian market",
arguments: [
{
name: "industry",
description: "Industry sector to analyze",
required: true
},
{
name: "target_market",
description: "Target market segment",
required: false
}
]
},
{
name: "cultural-adaptation-strategy",
description: "Develop strategy for cultural adaptation in Romania",
arguments: [
{
name: "business_type",
description: "Type of business or service",
required: true
},
{
name: "origin_country",
description: "Country of origin for the business",
required: false
}
]
},
{
name: "romanian-customer-persona",
description: "Create detailed Romanian customer personas",
arguments: [
{
name: "product_category",
description: "Product or service category",
required: true
},
{
name: "region",
description: "Romanian region (Bucharest, Cluj, Timisoara, etc.)",
required: false
}
]
},
{
name: "romanian-marketing-strategy",
description: "Develop marketing strategy for Romanian market",
arguments: [
{
name: "campaign_type",
description: "Type of marketing campaign",
required: true
},
{
name: "budget_range",
description: "Budget range for the campaign",
required: false
}
]
},
{
name: "legal-compliance-checklist",
description: "Generate compliance checklist for Romanian business operations",
arguments: [
{
name: "business_activity",
description: "Primary business activity",
required: true
},
{
name: "company_size",
description: "Company size (startup, SME, enterprise)",
required: false
}
]
}
]
};
});
this.server.setRequestHandler(GetPromptRequestSchema, async (request) => {
const { name, arguments: args } = request.params;
switch (name) {
case "romanian-business-analysis":
return {
description: "Comprehensive Romanian business market analysis",
messages: [
{
role: "user",
content: {
type: "text",
text: await this.generateBusinessAnalysisPrompt(args)
}
}
]
};
case "cultural-adaptation-strategy":
return {
description: "Romanian cultural adaptation strategy development",
messages: [
{
role: "user",
content: {
type: "text",
text: await this.generateCulturalAdaptationPrompt(args)
}
}
]
};
case "romanian-customer-persona":
return {
description: "Detailed Romanian customer persona creation",
messages: [
{
role: "user",
content: {
type: "text",
text: await this.generateCustomerPersonaPrompt(args)
}
}
]
};
case "romanian-marketing-strategy":
return {
description: "Romanian market-specific marketing strategy",
messages: [
{
role: "user",
content: {
type: "text",
text: await this.generateMarketingStrategyPrompt(args)
}
}
]
};
case "legal-compliance-checklist":
return {
description: "Romanian legal compliance checklist",
messages: [
{
role: "user",
content: {
type: "text",
text: await this.generateComplianceChecklistPrompt(args)
}
}
]
};
default:
throw new Error(`Prompt not found: ${name}`);
}
});
}
setupToolHandlers() {
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [
{
name: "romai_intelligence",
description: "Ask ROMAI for intelligent analysis and problem-solving in Romanian or English",
inputSchema: {
type: "object",
properties: {
query: {
type: "string",
description: "The question or problem to analyze"
},
language: {
type: "string",
enum: ["ro", "en"],
description: "Language for the response (Romanian or English)",
default: "ro"
},
domain: {
type: "string",
description: "Domain context (e.g., technology, business, science)",
default: "general"
},
context: {
type: "string",
description: "Additional context for the query"
}
},
required: ["query"]
}
},
{
name: "romai_romanian_expert",
description: "Get expert advice on Romanian culture, language, business, and local context",
inputSchema: {
type: "object",
properties: {
query: {
type: "string",
description: "Your question about Romania"
},
category: {
type: "string",
enum: [
"culture",
"business",
"language",
"history",
"travel",
"legal",
"education"
],
description: "Category of Romanian expertise needed",
default: "general"
}
},
required: ["query"]
}
},
{
name: "romai_problem_solver",
description: "General problem-solving with step-by-step analysis and practical solutions",
inputSchema: {
type: "object",
properties: {
problem: {
type: "string",
description: "The problem to solve"
},
constraints: {
type: "string",
description: "Any constraints or limitations"
},
goals: {
type: "string",
description: "Desired outcomes or goals"
},
language: {
type: "string",
enum: ["ro", "en"],
description: "Response language",
default: "ro"
}
},
required: ["problem"]
}
},
{
name: "romai_code_assistant",
description: "Romanian-first coding assistant for programming help and code generation",
inputSchema: {
type: "object",
properties: {
request: {
type: "string",
description: "Your coding question or request"
},
language: {
type: "string",
description: "Programming language (e.g., JavaScript, Python, TypeScript)"
},
framework: {
type: "string",
description: "Framework or library context"
},
explain_in: {
type: "string",
enum: ["ro", "en"],
description: "Language for explanations",
default: "ro"
}
},
required: ["request"]
}
},
{
name: "romai_health_check",
description: "Check the health status of ROMAI services",
inputSchema: {
type: "object",
properties: {}
}
},
// New enterprise tools
{
name: "romai_market_intelligence",
description: "Advanced Romanian market intelligence and competitive analysis",
inputSchema: {
type: "object",
properties: {
industry: {
type: "string",
description: "Industry sector for analysis"
},
region: {
type: "string",
description: "Specific Romanian region or nationwide",
default: "nationwide"
},
analysis_type: {
type: "string",
enum: ["competitive", "market_size", "trends", "opportunities", "risks"],
description: "Type of market analysis",
default: "comprehensive"
},
time_horizon: {
type: "string",
enum: ["current", "6_months", "1_year", "3_years"],
description: "Analysis time horizon",
default: "current"
}
},
required: ["industry"]
}
},
{
name: "romai_regulatory_advisor",
description: "Romanian regulatory and compliance guidance",
inputSchema: {
type: "object",
properties: {
business_type: {
type: "string",
description: "Type of business or industry"
},
regulation_area: {
type: "string",
enum: ["company_formation", "tax", "employment", "data_privacy", "industry_specific"],
description: "Area of regulatory guidance needed"
},
company_size: {
type: "string",
enum: ["startup", "sme", "enterprise"],
description: "Company size category",
default: "sme"
}
},
required: ["business_type", "regulation_area"]
}
}
]
};
});
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (!request.params) {
throw new Error("Request params are undefined");
}
const { name, arguments: args } = request.params;
try {
switch (name) {
case "romai_intelligence":
return await this.handleIntelligenceRequest(args);
case "romai_romanian_expert":
return await this.handleRomanianExpertRequest(args);
case "romai_problem_solver":
return await this.handleProblemSolverRequest(args);
case "romai_code_assistant":
return await this.handleCodeAssistantRequest(args);
case "romai_health_check":
return await this.handleHealthCheck(args);
case "romai_market_intelligence":
return await this.handleMarketIntelligenceRequest(args);
case "romai_regulatory_advisor":
return await this.handleRegulatoryAdvisorRequest(args);
default:
return {
content: [
{
type: "text",
text: `Unknown tool: ${name}`
}
],
isError: true
};
}
} catch (error) {
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
return {
content: [
{
type: "text",
text: `Error executing tool ${name}: ${errorMessage}`
}
],
isError: true
};
}
});
}
// Resource content generators
async getBusinessGuideContent() {
return `# Romanian Business Guide
## Executive Summary
This comprehensive guide provides essential information for international businesses entering the Romanian market.
## Key Business Insights
- GDP: \u20AC250+ billion (2024)
- EU Member since 2007
- Strategic location between Western Europe and Asia
- Growing tech and services sectors
- Skilled multilingual workforce
## Market Entry Strategies
1. **Direct Investment**: Establish local presence
2. **Joint Ventures**: Partner with Romanian companies
3. **Licensing**: License products/services to local partners
4. **Acquisition**: Acquire existing Romanian businesses
## Business Culture
- **Relationship-focused**: Personal connections matter
- **Formal communication**: Professional titles and formal address
- **Punctuality**: Being on time is highly valued
- **Decision-making**: Often hierarchical, involving senior management
## Key Industries
- **Technology**: Software development, IT services
- **Manufacturing**: Automotive, textiles, machinery
- **Energy**: Renewable energy, oil & gas
- **Agriculture**: Grains, wine, organic products
- **Tourism**: Mountain resorts, coastal destinations
## Legal Considerations
- Romanian Commercial Code governs business operations
- EU regulations apply (GDPR, competition law)
- Corporate tax rate: 16%
- VAT rate: 19%
- Employment law protections for workers
## Success Factors
1. Understand local market preferences
2. Build strong relationships with partners
3. Comply with EU and Romanian regulations
4. Invest in local talent and training
5. Adapt products/services to local needs`;
}
async getCulturalInsightsContent() {
return `# Romanian Cultural Insights for Business
## Communication Style
- **Directness**: Romanians appreciate honest, straightforward communication
- **Formality**: Use formal titles and "Dumneavoastr\u0103" (formal you) in business
- **Language**: Many professionals speak English, but Romanian language skills are valued
- **Non-verbal**: Firm handshakes, maintaining eye contact shows respect
## Business Etiquette
- **Meetings**: Start with small talk, but transition to business promptly
- **Dress Code**: Conservative, professional attire expected
- **Gifts**: Modest business gifts are appreciated but not required
- **Dining**: Business lunches common, wait for host to begin eating
## Religious and Social Considerations
- **Orthodox Christianity**: Majority religion, respect religious holidays
- **Family Values**: Family is central to Romanian culture
- **National Pride**: Romanians are proud of their history and culture
- **Regional Differences**: Urban vs. rural cultural variations
## Holiday Calendar
- **New Year**: January 1-2
- **Epiphany**: January 6
- **Easter**: Orthodox Easter (varies)
- **Labor Day**: May 1
- **Children's Day**: June 1
- **Assumption**: August 15
- **St. Andrew's Day**: November 30
- **National Day**: December 1
- **Christmas**: December 25-26
## Business Relationship Building
1. **Personal Connection**: Invest time in getting to know partners
2. **Trust Building**: Consistency and reliability are crucial
3. **Long-term Perspective**: Focus on sustainable partnerships
4. **Local Presence**: Having local representatives shows commitment
5. **Cultural Sensitivity**: Show interest in Romanian culture and history`;
}
async getLegalFrameworkContent() {
return `# Romanian Legal Framework for Business
## Company Formation
### Legal Entities
- **SRL (Societate cu R\u0103spundere Limitat\u0103)**: Limited Liability Company
- **SA (Societate pe Ac\u021Biuni)**: Joint Stock Company
- **Branch Office**: Foreign company representative office
- **Representative Office**: Liaison office (no commercial activity)
### Registration Requirements
- Minimum share capital: RON 200 for SRL, RON 90,000 for SA
- Registration with Trade Register (ONRC)
- Tax registration with ANAF
- Social security registration
- Bank account opening
## Tax System
### Corporate Taxation
- **Corporate Income Tax**: 16%
- **Micro-enterprise Tax**: 1% of turnover (for eligible small companies)
- **Dividend Tax**: 5% (EU residents), 16% (non-EU)
- **Transfer Pricing**: Arm's length principle applies
### VAT System
- **Standard Rate**: 19%
- **Reduced Rates**: 9% (certain foods, books), 5% (medicines, hotels)
- **VAT Registration**: Mandatory if turnover exceeds RON 300,000
- **EU VAT**: Reverse charge mechanism applies
## Employment Law
### Worker Rights
- **Working Hours**: Maximum 40 hours/week
- **Minimum Wage**: Updated annually by government
- **Annual Leave**: Minimum 20 working days
- **Maternity Leave**: 126 days paid leave
- **Notice Period**: 20 working days standard
### Employer Obligations
- Social security contributions: ~25-30% of gross salary
- Health insurance: Mandatory coverage
- Work safety: Compliance with EU standards
- Collective bargaining: Recognize trade unions
## Data Protection
### GDPR Compliance
- **Data Processing**: Lawful basis required
- **Consent**: Clear and unambiguous
- **Data Subjects Rights**: Access, rectification, erasure
- **Data Breaches**: 72-hour notification requirement
- **DPO**: Required for certain activities
## Intellectual Property
### Protection Mechanisms
- **Trademarks**: Registration with OSIM
- **Patents**: National and European patents
- **Copyright**: Automatic protection
- **Industrial Designs**: Registration available
- **Trade Secrets**: Protected under law
## Dispute Resolution
### Court System
- **First Instance Courts**: Local jurisdiction
- **Appeal Courts**: Regional jurisdiction
- **High Court**: Supreme court of appeals
- **Administrative Courts**: Public law disputes
### Alternative Dispute Resolution
- **Arbitration**: Recognized and enforceable
- **Mediation**: Encouraged for commercial disputes
- **Conciliation**: Available for labor disputes`;
}
async getEmailTemplatesContent() {
return `# Romanian Business Email Templates
## Formal Business Introduction
**Subject**: Introducere oficial\u0103 - [Company Name]
Stimate Domnule/Stimat\u0103 Doamn\u0103 [Last Name],
Numele meu este [Your Name] \u0219i reprezint compania [Company Name]. V\u0103 contactez \xEEn leg\u0103tur\u0103 cu [specific purpose/opportunity].
[Company Name] este specializat\u0103 \xEEn [brief company description] \u0219i am identificat o poten\u021Bial\u0103 colaborare cu organiza\u021Bia dumneavoastr\u0103.
A\u0219 aprecia posibilitatea unei \xEEnt\xE2lniri pentru a discuta aceast\u0103 oportunitate \xEEn detaliu. Sunt disponibil/disponibil\u0103 \xEEn [time period] \u0219i pot s\u0103 m\u0103 adaptez programului dumneavoastr\u0103.
V\u0103 mul\u021Bumesc pentru timpul acordat \u0219i a\u0219tept cu interes r\u0103spunsul dumneavoastr\u0103.
Cu stim\u0103,
[Your Name]
[Title]
[Company Name]
[Contact Information]
---
## Meeting Request
**Subject**: Solicitare \xEEnt\xE2lnire - Oportunitate de colaborare
Stima\u021Bi Domni,
Sper c\u0103 acest email v\u0103 g\u0103se\u0219te \xEEn cea mai bun\u0103 s\u0103n\u0103tate.
Doresc s\u0103 solicit o \xEEnt\xE2lnire pentru a discuta o propunere de colaborare care ar putea fi benefic\u0103 pentru ambele organiza\u021Bii.
Punctele principale de discu\u021Bie ar include:
- [Point 1]
- [Point 2]
- [Point 3]
Sunt flexibil/flexibil\u0103 \xEEn privin\u021Ba datei \u0219i orei \xEEnt\xE2lnirii. Putem organiza \xEEnt\xE2lnirea la sediul dumneavoastr\u0103, la biroul nostru, sau online, conform preferin\u021Belor dumneavoastr\u0103.
V\u0103 mul\u021Bumesc anticipat pentru considera\u021Bia acordat\u0103 solicit\u0103rii mele.
Cu respect,
[Your Name]
---
## Follow-up After Meeting
**Subject**: Mul\u021Bumiri pentru \xEEnt\xE2lnire \u0219i pa\u0219i urm\u0103tori
Stimate Domnule/Stimat\u0103 Doamn\u0103 [Name],
V\u0103 mul\u021Bumesc pentru timpul acordat \xEEn \xEEnt\xE2lnirea de azi. A fost o pl\u0103cere s\u0103 discut despre [meeting topic] \u0219i s\u0103 aflu mai multe despre [their company/projects].
Conform discu\u021Biilor noastre, voi:
- [Action item 1]
- [Action item 2]
- [Action item 3]
V\u0103 voi trimite [specific deliverable] p\xE2n\u0103 \xEEn data de [date].
Dac\u0103 ave\u021Bi \xEEntreb\u0103ri suplimentare sau ave\u021Bi nevoie de clarific\u0103ri, v\u0103 rog s\u0103 nu ezita\u021Bi s\u0103 m\u0103 contacta\u021Bi.
A\u0219tept cu interes continuarea colabor\u0103rii noastre.
Cu stim\u0103,
[Your Name]
---
## Project Proposal
**Subject**: Propunere de proiect - [Project Name]
Stima\u021Bi Domni,
Anexat la acest email ve\u021Bi g\u0103si propunerea detaliat\u0103 pentru proiectul [Project Name] despre care am discutat.
Propunerea include:
- Obiectivele proiectului
- Metodologia propus\u0103
- Cronograma de implementare
- Bugetul detaliat
- Echipa proiectului
Suntem convin\u0219i c\u0103 aceast\u0103 abordare va aduce beneficii semnificative organiza\u021Biei dumneavoastr\u0103 \u0219i suntem dornici s\u0103 \xEEncepem colaborarea.
Pentru orice clarific\u0103ri sau modific\u0103ri, sunt la dispozi\u021Bia dumneavoastr\u0103.
Cu respect,
[Your Name]
---
## Thank You Note
**Subject**: Mul\u021Bumiri pentru colaborare
Stimate colaboratori,
Prin acest email doresc s\u0103 v\u0103 mul\u021Bumesc pentru excelenta colaborare pe parcursul proiectului [Project Name].
Profesionalismul \u0219i dedicarea echipei dumneavoastr\u0103 au contribuit semnificativ la succesul acestui proiect. Rezultatele ob\u021Binute dep\u0103\u0219esc a\u0219tept\u0103rile ini\u021Biale.
Sper ca aceast\u0103 colaborare s\u0103 fie primul pas \xEEntr-un parteneriat de lung\u0103 durat\u0103 \xEEntre organiza\u021Biile noastre.
Cu recuno\u0219tin\u021B\u0103,
[Your Name]`;
}
async getMarketAnalysisData() {
return {
"market_overview": {
"gdp_2024": "\u20AC250.8 billion",
"gdp_growth_rate": "3.8%",
"population": "19.1 million",
"unemployment_rate": "5.2%",
"inflation_rate": "4.1%"
},
"key_sectors": {
"technology": {
"market_size": "\u20AC12.5 billion",
"growth_rate": "15.2%",
"key_players": ["UiPath", "eMAG", "Zitec", "Siveco"],
"opportunities": ["AI/ML", "Fintech", "E-commerce", "Cybersecurity"]
},
"manufacturing": {
"market_size": "\u20AC45.3 billion",
"growth_rate": "6.8%",
"key_players": ["Dacia", "Continental", "Michelin", "Pirelli"],
"opportunities": ["Automotive", "Electronics", "Textiles"]
},
"energy": {
"market_size": "\u20AC18.7 billion",
"growth_rate": "8.9%",
"key_players": ["Hidroelectrica", "OMV Petrom", "E.ON"],
"opportunities": ["Renewable energy", "Smart grid", "Energy storage"]
}
},
"regional_analysis": {
"bucuresti": {
"population": "2.15 million",
"gdp_per_capita": "\u20AC23,500",
"key_industries": ["Finance", "Technology", "Services"],
"business_environment": "Excellent"
},
"cluj_napoca": {
"population": "0.42 million",
"gdp_per_capita": "\u20AC19,800",
"key_industries": ["Technology", "Manufacturing", "Education"],
"business_environment": "Very Good"
},
"timisoara": {
"population": "0.38 million",
"gdp_per_capita": "\u20AC18,200",
"key_industries": ["Automotive", "Technology", "Manufacturing"],
"business_environment": "Good"
}
},
"investment_climate": {
"ease_of_doing_business": "Rank 55/190 globally",
"corruption_perception": "Rank 69/180 globally",
"competitiveness": "Rank 51/141 globally",
"innovation_index": "Rank 42/132 globally"
},
"market_trends": {
"digitalization": "Accelerating across all sectors",
"sustainability": "Growing focus on green initiatives",
"urbanization": "Continued migration to major cities",
"eu_integration": "Deeper integration with EU markets"
}
};
}
// Prompt generators
async generateBusinessAnalysisPrompt(args) {
const { industry, target_market = "general" } = args;
return `Ca expert \xEEn pia\u021Ba rom\xE2neasc\u0103, analizeaz\u0103 oportunit\u0103\u021Bile de business \xEEn industria "${industry}" pentru segmentul "${target_market}".
Include\u021Bi \xEEn analiz\u0103:
1. **Dimensiunea \u0219i cre\u0219terea pie\u021Bei**
- Valoarea actual\u0103 a pie\u021Bei \xEEn Rom\xE2nia
- Rata de cre\u0219tere anual\u0103 proiectat\u0103
- Factori care influen\u021Beaz\u0103 cre\u0219terea
2. **Analiza competi\u021Biei**
- Juc\u0103tori principali pe pia\u021B\u0103
- Punctele lor forte \u0219i sl\u0103biciuni
- Cotele de pia\u021B\u0103
- Strategiile predominante
3. **Analiza clien\u021Bilor**
- Profilul clientului \u021Bint\u0103 rom\xE2nesc
- Comportamentul de cump\u0103rare
- Preferin\u021Bele specifice pie\u021Bei rom\xE2ne\u0219ti
- Sensibilitatea la pre\u021B
4. **Oportunit\u0103\u021Bi de pia\u021B\u0103**
- Segmente neacoperite sau subacoperite
- Tendin\u021Be emergente
- Nevoi nesatisf\u0103cute ale clien\u021Bilor
- Avantaje competitive poten\u021Biale
5. **Riscuri \u0219i provoc\u0103ri**
- Bariere de intrare pe pia\u021B\u0103
- Riscuri regulatory sau legislative
- Volatilitatea economic\u0103
- Competi\u021Bia interna\u021Bional\u0103
6. **Recomand\u0103ri strategice**
- Strategia optim\u0103 de intrare pe pia\u021B\u0103
- Pozi\u021Bionarea recomandat\u0103
- Investi\u021Biile necesare
- Cronograma de implementare
Folose\u0219te date actuale despre economia rom\xE2neasc\u0103 \u0219i tendin\u021Bele sectoriale.`;
}
async generateCulturalAdaptationPrompt(args) {
const { business_type, origin_country = "international" } = args;
return `Dezvolt\u0103 o strategie detaliat\u0103 de adaptare cultural\u0103 pentru o afacere de tip "${business_type}" care vine din "${origin_country}" \u0219i dore\u0219te s\u0103 se stabileasc\u0103 \xEEn Rom\xE2nia.
Strategia s\u0103 includ\u0103:
1. **Analiza diferen\u021Belor culturale**
- Diferen\u021Be \xEEn stilul de comunicare
- Diferen\u021Be \xEEn valorile de business
- Diferen\u021Be \xEEn procesele de luare a deciziilor
- Diferen\u021Be \xEEn rela\u021Biile profesionale
2. **Adaptarea produselor/serviciilor**
- Modific\u0103ri necesare pentru gusturile rom\xE2ne\u0219ti
- Adaptarea la puterea de cump\u0103rare local\u0103
- Conformitatea cu standardele \u0219i reglement\u0103rile locale
- Personalizarea pentru pia\u021Ba rom\xE2neasc\u0103
3. **Strategia de comunicare \u0219i marketing**
- Mesajele cheie pentru audien\u021Ba rom\xE2neasc\u0103
- Canalele de comunicare preferate
- Influencerii \u0219i partenerii locali
- Strategia de brand local\u0103
4. **Managementul echipei locale**
- Recrutarea \u0219i formarea personalului rom\xE2n
- Stilul de management adaptat culturii locale
- Motivarea \u0219i re\u021Binerea talentelor locale
- Integrarea culturii corporative
5. **Parteneriatul \u0219i networking-ul local**
- Identificarea partenerilor strategici locali
- Participarea la evenimente de business rom\xE2ne\u0219ti
- Dezvoltarea rela\u021Biilor cu autorit\u0103\u021Bile locale
- Implicarea \xEEn comunitatea local\u0103
6. **Cronograma de implementare**
- Fazele de adaptare cultural\u0103
- Indicatori de succes
- Bugetul pentru adaptarea cultural\u0103
- Riscurile \u0219i planurile de contingen\u021B\u0103
Include\u021Bi exemple concrete \u0219i cele mai bune practici din experien\u021Ba altor companii interna\u021Bionale care s-au adaptat cu succes \xEEn Rom\xE2nia.`;
}
async generateCustomerPersonaPrompt(args) {
const { product_category, region = "na\u021Bional" } = args;
return `Creeaz\u0103 personaje detaliate ale clien\u021Bilor rom\xE2ne\u0219ti pentru categoria de produse "${product_category}" \xEEn regiunea "${region}".
Pentru fiecare persona, include\u021Bi:
1. **Informa\u021Bii demografice**
- V\xE2rsta \u0219i genul
- Nivelul de educa\u021Bie
- Ocupa\u021Bia \u0219i venitul
- Statusul familial
- Loca\u021Bia geografic\u0103
2. **Comportamentul de cump\u0103rare**
- Procesul de luare a deciziilor
- Factorii care influen\u021Beaz\u0103 cump\u0103rarea
- Canalele preferate de cump\u0103rare
- Frecven\u021Ba achizi\u021Biilor
- Bugetul alocat categoriei
3. **Stilul de via\u021B\u0103 \u0219i valorile**
- Hobby-urile \u0219i interesele
- Valorile personale importante
- Stilul de via\u021B\u0103 general
- Aspira\u021Biile \u0219i temerile
- Influen\u021Bele sociale
4. **Comportamentul digital**
- Platformele de social media folosite
- Obiceiurile de consum media
- Preferin\u021Bele pentru cump\u0103r\u0103turi online vs offline
- Deviceurile utilizate
- Timpul petrecut online
5. **Rela\u021Bia cu categoria de produse**
- Experien\u021Ba cu categoria
- M\u0103rcile preferate \u0219i de ce
- Punctele de durere \xEEn experien\u021Ba actual\u0103
- Nevoile nesatisf\u0103cute
- A\u0219tept\u0103rile pentru viitor
6. **Particularit\u0103\u021Bi culturale rom\xE2ne\u0219ti**
- Influen\u021Ba tradi\u021Biilor rom\xE2ne\u0219\u021Bi
- Impactul contextului economic local
- Diferen\u021Bele regionale (dac\u0103 aplicabile)
- Influen\u021Ba familiei \u0219i prietenilor
- Atitudinea fa\u021B\u0103 de m\u0103rcile str\u0103ine vs locale
Creeaz\u0103 3-4 personaje distincte care s\u0103 acopere diversitatea pie\u021Bei rom\xE2ne\u0219ti pentru aceast\u0103 categorie.`;
}
async generateMarketingStrategyPrompt(args) {
const { campaign_type, budget_range = "mediu" } = args;
return `Dezvolt\u0103 o strategie de marketing complet\u0103 pentru o campanie de tip "${campaign_type}" \xEEn Rom\xE2nia, cu un buget "${budget_range}".
Strategia s\u0103 includ\u0103:
1. **Obiectivele campaniei**
- Obiectivele SMART specifice
- KPI-urile principale
- Targeturile de performan\u021B\u0103
- Cronograma obiectivelor
2. **Analiza pie\u021Bei rom\xE2ne\u0219ti**
- Dimensiunea \u0219i caracteristicile audiencei \u021Bint\u0103
- Competitorii direc\u021Bi \u0219i indirec\u021Bi
- Tendin\u021Bele pie\u021Bei relevante
- Oportunit\u0103\u021Bile de diferen\u021Biere
3. **Strategia de pozi\u021Bionare**
- Propunerea unic\u0103 de valoare
- Pozi\u021Bionarea fa\u021B\u0103 de competitori
- Mesajele cheie pentru audien\u021Ba rom\xE2neasc\u0103
- Tonul \u0219i personalitatea brandului
4. **Mix-ul de canale \u0219i tactici**
- Canale digitale (social media, search, display)
- Canale tradi\u021Bionale (TV, radio, print, outdoor)
- Marketing-ul de con\u021Binut
- Influencer marketing \u0219i parteneriate
- Evenimente \u0219i activari experien\u021Biale
5. **Alocarea bugetului**
- Distribu\u021Bia bugetului pe canale
- Investi\u021Biile \xEEn con\u021Binut \u0219i creativitate
- Costurile de produc\u021Bie
- Rezerva pentru optimiz\u0103ri
6. **Calendarul de implementare**
- Cronograma detaliat\u0103 pe luni/s\u0103pt\u0103m\xE2ni
- Momentele cheie \u0219i milestone-urile
- Sincronizarea cu evenimente \u0219i s\u0103rb\u0103tori rom\xE2ne\u0219ti
- Planul de backup pentru scenarii alternative
7. **M\u0103surarea \u0219i optimizarea**
- Metricile de urm\u0103rit pe fiecare canal
- Frecven\u021Ba raport\u0103rii \u0219i analizei
- Procesul de optimizare continu\u0103
- A/B testing-urile planificate
Include\u021Bi exemple de creativit\u0103\u021Bi \u0219i mesaje adaptate specificului cultural rom\xE2nesc.`;
}
async generateComplianceChecklistPrompt(args) {
const { business_activity, company_size = "SME" } = args;
return `Creeaz\u0103 o list\u0103 detaliat\u0103 de conformitate legal\u0103 pentru o companie "${company_size}" care desf\u0103\u0219oar\u0103 activitatea "${business_activity}" \xEEn Rom\xE2nia.
Checklist-ul s\u0103 includ\u0103:
1. **\xCEnfiin\u021Barea \u0219i \xEEnregistrarea companiei**
- [ ] \xCEnregistrarea la Registrul Comer\u021Bului (ONRC)
- [ ] Ob\u021Binerea certificatului de \xEEnregistrare
- [ ] \xCEnregistrarea la ANAF pentru obliga\u021Bii fiscale
- [ ] Deschiderea contului bancar corporativ
- [ ] \xCEnregistrarea pentru TVA (dac\u0103 aplicabil)
2. **Licen\u021Be \u0219i autoriza\u021Bii specifice**
- [ ] Identificarea licen\u021Belor necesare pentru activitatea specific\u0103
- [ ] Ob\u021Binerea autoriza\u021Biilor de mediu (dac\u0103 aplicabil)
- [ ] Autoriza\u021Biile de construire/func\u021Bionare (dac\u0103 aplicabil)
- [ ] Licen\u021Be profesionale pentru angaja\u021Bi
- [ ] \xCEnregistr\u0103ri sectoriale specifice
3. **Obliga\u021Bii fiscale \u0219i contabile**
- [ ] Stabilirea sistemului de taxare (impozit pe profit vs micro-\xEEntreprindere)
- [ ] Numirea unui contabil autorizat
- [ ] Implementarea sistemului de eviden\u021B\u0103 contabil\u0103
- [ ] \xCEnregistrarea pentru contribu\u021Bii sociale
- [ ] Stabilirea procedurilor de raportare fiscal\u0103
4. **Dreptul muncii \u0219i angaja\u021Bii**
- [ ] Contractele de munc\u0103 conforme cu legisla\u021Bia
- [ ] \xCEnregistrarea angaja\u021Bilor la Casa de Pensii \u0219i Casa de S\u0103n\u0103tate
- [ ] Implementarea regulamentului intern de organizare \u0219i func\u021Bionare
- [ ] M\u0103surile de securitate \u0219i s\u0103n\u0103tate \xEEn munc\u0103
- [ ] Formarea \u0219i instruirea personalului
5. **Protec\u021Bia datelor \u0219i GDPR**
- [ ] Evaluarea necesit\u0103\u021Bii unui DPO (Data Protection Officer)
- [ ] Implementarea politicilor de protec\u021Bie a datelor
- [ ] Registrul activit\u0103\u021Bilor de prelucrare
- [ ] Procedurile pentru drepturile persoanelor vizate
- [ ] M\u0103surile tehnice \u0219i organizatorice de securitate
6. **Contracte \u0219i rela\u021Bii comerciale**
- [ ] Standardizarea contractelor cu clien\u021Bii
- [ ] Contractele cu furnizorii \u0219i partenerii
- [ ] Termenii \u0219i condi\u021Biile generale
- [ ] Politicile de return \u0219i garan\u021Bie
- [ ] Procedurile de solu\u021Bionare a disputelor
7. **Proprietatea intelectual\u0103**
- [ ] \xCEnregistrarea m\u0103rcilor comerciale (dac\u0103 aplicabil)
- [ ] Protec\u021Bia drepturilor de autor
- [ ] Licen\u021Bierea software-ului utilizat
- [ ] Acordurile de confiden\u021Bialitate
- [ ] Politicile de protec\u021Bie a know-how-ului
8. **Raportarea \u0219i conformitatea continu\u0103**
- [ ] Calendarul obliga\u021Biilor de raportare
- [ ] Procedurile de actualizare a documentelor
- [ ] Monitorizarea schimb\u0103rilor legislative
- [ ] Auditurile interne periodice
- [ ] Planul de conformitate anual\u0103
Pentru fiecare punct, include\u021Bi termenii legali, costurile estimate \u0219i cronograma de implementare.`;
}
// Existing tool handlers (keeping all previous functionality)
async handleIntelligenceRequest(args) {
}
async handleRomanianExpertRequest(args) {
}
async handleProblemSolverRequest(args) {
}
async handleCodeAssistantRequest(args) {
}
async handleHealthCheck(args) {
}
// New tool handlers
async handleMarketIntelligenceRequest(args) {
const { industry, region = "nationwide", analysis_type = "comprehensive", time_horizon = "current" } = args;
if (!industry) {
return {
content: [
{
type: "text",
text: "Industry parameter is required"
}
],
isError: true
};
}
const marketPrompt = `Ca expert \xEEn analiza de pia\u021B\u0103 rom\xE2neasc\u0103, furnizeaz\u0103 o analiz\u0103 detaliat\u0103 de market intelligence pentru industria "${industry}" \xEEn regiunea "${region}" cu orizont de timp "${time_horizon}".
Analiza s\u0103 includ\u0103:
1. DIMENSIUNEA \u0218I STRUCTURA PIE\u021AEI
- Valoarea total\u0103 a pie\u021Bei \xEEn Rom\xE2nia
- Segmentele principale \u0219i cotele lor
- Rata de cre\u0219tere anual\u0103 (ultimii 3 ani)
- Proiec\u021Bii de cre\u0219tere pentru perioada solicitat\u0103
2. COMPETI\u021AIA \u0218I JUC\u0102TORII CHEIE
- Top 5-10 companii din industrie
- Cotele de pia\u021B\u0103 ale liderilor
- Strategiile de business predominante
- Avantajele competitive ale liderilor
- Vulnerabilit\u0103\u021Bile competitorilor
3. ANALIZA CLIEN\u021AILOR
- Segmentele de clien\u021Bi principale
- Comportamentul de cump\u0103rare specific Rom\xE2niei
- Tendin\u021Bele \xEEn preferin\u021Bele consumatorilor
- Sensibilitatea la pre\u021B \xEEn pia\u021Ba rom\xE2neasc\u0103
- Influen\u021Ba factorilor culturali
4. TENDIN\u021AE \u0218I OPORTUNIT\u0102\u021AI
- Trend-urile emergente \xEEn industrie
- Tehnologiile disruptive relevante
- Schimb\u0103ri \xEEn reglement\u0103ri
- Oportunit\u0103\u021Bi de cre\u0219tere identificate
- Ni\u0219ele neexploatate
5. RISCURI \u0218I PROVOC\u0102RI
- Riscurile macroeconomice
- Impactul reglement\u0103rilor EU
- Volatilitatea cursului valutar
- Riscurile politice \u0219i legislative
- Competi\u021Bia interna\u021Bional\u0103
6. RECOMAND\u0102RI STRATEGICE
- Strategii de intrare/extindere
- Pozi\u021Bionarea optim\u0103 pe pia\u021B\u0103
- Investi\u021Biile recomandate
- Parteneriatele strategice
- Cronograma de implementare
Folose\u0219te date concrete \u0219i cifre specifice pentru pia\u021Ba rom\xE2neasc\u0103.`;
const intelligenceRequest = {
query: marketPrompt,
language: "ro",
domain: "market_intelligence",
context: `Market intelligence for ${industry} industry in ${region} Romania`
};
const response = await this.romaiCore.processIntelligenceRequest(intelligenceRequest);
return {
content: [
{
type: "text",
text: response.response
}
]
};
}
async handleRegulatoryAdvisorRequest(args) {
const { business_type, regulation_area, company_size = "sme" } = args;
if (!business_type || !regulation_area) {
return {
content: [
{
type: "text",
text: "Business type and regulation area parameters are required"
}
],
isError: true
};
}
const regulatoryPrompt = `Ca consultant legal expert \xEEn legisla\u021Bia rom\xE2neasc\u0103 \u0219i european\u0103, furnizeaz\u0103 o consultan\u021B\u0103 detaliat\u0103 \xEEn domeniul "${regulation_area}" pentru o companie de tip "${business_type}" de m\u0103rimea "${company_size}".
Consultan\u021Ba s\u0103 includ\u0103:
1. CADRUL LEGAL APLICABIL
- Legile principale rom\xE2ne\u0219ti relevante
- Reglement\u0103rile europene aplicabile
- Normele metodologice \u0219i ordinele ANAF/ANPC
- Regulamentele sectoriale specifice
- Jurispruden\u021Ba relevant\u0103
2. OBLIGA\u021AII LEGALE SPECIFICE
- Cerin\u021Bele de conformitate obligatorii
- Licen\u021Bele \u0219i autoriza\u021Biile necesare
- Procedurile de \xEEnregistrare \u0219i notificare
- Raport\u0103rile periodice obligatorii
- Documenta\u021Bia legal\u0103 necesar\u0103
3. PROCEDURI DE IMPLEMENTARE
- Pa\u0219ii concre\u021Bi pentru conformitate
- Documentele necesare pentru fiecare etap\u0103
- Termenii legali \u0219i perioadele de gra\u021Bie
- Costurile estimate pentru conformitate
- Institu\u021Biile competente \u0219i procedurile
4. RISCURI \u0218I SANC\u021AIUNI
- Consecin\u021Bele neconformit\u0103\u021Bii
- Amenzile \u0219i penalit\u0103\u021Bile aplicabile
- Riscurile de suspendare/\xEEnchidere
- Responsabilitatea civil\u0103 \u0219i penal\u0103
- Impactul asupra activit\u0103\u021Bii business
5. CELE MAI BUNE PRACTICI
- Sistemele de management al conformit\u0103\u021Bii
- Procedurile interne recomandate
- Formarea personalului \u0219i responsabilit\u0103\u021Bile
- Auditurile \u0219i monitorizarea continu\u0103
- Actualizarea permanent\u0103 a cuno\u0219tin\u021Belor
6. RECOMAND\u0102RI PRACTICE
- Pa\u0219i imedia\u021Bi de urmat
- Prioritizarea obliga\u021Biilor
- Cronograma de implementare
- Bugetul necesar pentru conformitate
- Resursele externe recomandate (avoca\u021Bi, consultan\u021Bi)
Ofer\u0103 sfaturi practice \u0219i ac\u021Bionabile, cu referin\u021Be concrete la legisla\u021Bia \xEEn vigoare.`;
const intelligenceRequest = {
query: regulatoryPrompt,
language: "ro",
domain: "legal_compliance",
context: `Romanian regulatory advice for ${business_type} in ${regulation_area}`
};
const response = await this.romaiCore.processIntelligenceRequest(intelligenceRequest);
return {
content: [
{
type: "text",
text: response.response
}
]
};
}
setupErrorHandling() {
this.server.onerror = (error) => {
console.error("[MCP Error]", error);
};
process.on("SIGINT", async () => {
await this.server.close();
process.exit(0);
});
}
async run() {
const transport = new StdioServerTransport();
await this.server.connect(transport);
console.error("\u{1F680} ROMAI MCP Enhanced Server running on stdio");
}
};
export { RomaiMcpServerEnhanced, RomaiMcpServerEnhanced as default };
//# sourceMappingURL=enhanced-server.js.map
//# sourceMappingURL=enhanced-server.js.map