korea-ai-basic-act-mcp 1.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- korea_ai_basic_act_mcp-1.0.1/LICENSE +15 -0
- korea_ai_basic_act_mcp-1.0.1/PKG-INFO +145 -0
- korea_ai_basic_act_mcp-1.0.1/README.md +125 -0
- korea_ai_basic_act_mcp-1.0.1/korea_ai_basic_act_mcp.egg-info/PKG-INFO +145 -0
- korea_ai_basic_act_mcp-1.0.1/korea_ai_basic_act_mcp.egg-info/SOURCES.txt +11 -0
- korea_ai_basic_act_mcp-1.0.1/korea_ai_basic_act_mcp.egg-info/dependency_links.txt +1 -0
- korea_ai_basic_act_mcp-1.0.1/korea_ai_basic_act_mcp.egg-info/entry_points.txt +2 -0
- korea_ai_basic_act_mcp-1.0.1/korea_ai_basic_act_mcp.egg-info/requires.txt +1 -0
- korea_ai_basic_act_mcp-1.0.1/korea_ai_basic_act_mcp.egg-info/top_level.txt +1 -0
- korea_ai_basic_act_mcp-1.0.1/pyproject.toml +31 -0
- korea_ai_basic_act_mcp-1.0.1/server.py +345 -0
- korea_ai_basic_act_mcp-1.0.1/setup.cfg +4 -0
- korea_ai_basic_act_mcp-1.0.1/tests/test_korea.py +84 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Nicholas Templeman / MEOK AI Labs (CSOAI LTD, UK Companies House 16939677)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: korea-ai-basic-act-mcp
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: Korea AI Basic Act compliance MCP โ in force since 22 Jan 2026. High-impact AI + mandatory GenAI labelling + MSIT obligations + cross-walks to EU AI Act + Japan AI Promotion. By MEOK AI Labs.
|
|
5
|
+
Author-email: Nicholas Templeman <nicholas@meok.ai>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://meok.ai/governance
|
|
8
|
+
Project-URL: Repository, https://github.com/CSOAI-ORG/korea-ai-basic-act-mcp
|
|
9
|
+
Keywords: mcp,korea-ai-basic-act,msit,ai-framework-act,compliance,governance,asia-pacific,meok
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
14
|
+
Classifier: Intended Audience :: Legal Industry
|
|
15
|
+
Requires-Python: >=3.10
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: mcp[cli]>=1.3.0
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
|
|
21
|
+
<!-- mcp-name: io.github.CSOAI-ORG/korea-ai-basic-act-mcp -->
|
|
22
|
+
[](https://proofof.ai/scorecard/korea-ai-basic-act-mcp.html)
|
|
23
|
+
|
|
24
|
+
# Korea Ai Basic Act MCP
|
|
25
|
+
mcp-name: io.github.CSOAI-ORG/korea-ai-basic-act-mcp
|
|
26
|
+
|
|
27
|
+
# Korea AI Basic Act Compliance MCP
|
|
28
|
+
|
|
29
|
+
[](https://meok.ai)
|
|
30
|
+
[](https://councilof.ai)
|
|
31
|
+
[](LICENSE)
|
|
32
|
+
[](https://pypi.org/project/korea_ai_basic_act_mcp/)
|
|
33
|
+
|
|
34
|
+
> Korea AI Basic Act โ in force since 22 January 2026
|
|
35
|
+
|
|
36
|
+
Korea AI Basic Act โ in force since 22 January 2026
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## ๐ Quick Start
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Install via pip
|
|
44
|
+
pip install korea_ai_basic_act_mcp
|
|
45
|
+
|
|
46
|
+
# Or install via Smithery
|
|
47
|
+
npx -y @smithery/cli@latest install korea-ai-basic-act-mcp --client claude
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## โจ Features
|
|
51
|
+
|
|
52
|
+
- MCP protocol compliant
|
|
53
|
+
- Easy installation
|
|
54
|
+
- Well-documented API
|
|
55
|
+
- Production-ready
|
|
56
|
+
- Active maintenance
|
|
57
|
+
|
|
58
|
+
## ๐ Documentation
|
|
59
|
+
|
|
60
|
+
- [Full Documentation](https://docs.meok.ai/korea-ai-basic-act-mcp)
|
|
61
|
+
- [API Reference](https://api.meok.ai)
|
|
62
|
+
- [EU AI Act Compliance Guide](https://councilof.ai/compliance)
|
|
63
|
+
|
|
64
|
+
## ๐ก๏ธ Compliance
|
|
65
|
+
|
|
66
|
+
This MCP server is built with **EU AI Act compliance** built-in:
|
|
67
|
+
|
|
68
|
+
- โ
Article 9 โ Risk Management System
|
|
69
|
+
- โ
Article 13 โ Transparency & Instructions for Use
|
|
70
|
+
- โ
Article 15 โ Bias Detection & Testing
|
|
71
|
+
- โ
Article 26 โ FRIA Support (where applicable)
|
|
72
|
+
- โ
Article 50 โ AI Content Watermarking (where applicable)
|
|
73
|
+
|
|
74
|
+
Need help getting compliant? **[Book a free 15-min diagnostic โ](https://cal.com/csoai/august-audit)**
|
|
75
|
+
|
|
76
|
+
## ๐ข Enterprise
|
|
77
|
+
|
|
78
|
+
Need custom development, SLA guarantees, or white-label deployment?
|
|
79
|
+
|
|
80
|
+
- **Pro:** $99/mo โ Full MCP suite + EU AI Act tracking
|
|
81
|
+
- **Enterprise:** $499/mo โ Custom dev + SLA + Dedicated support
|
|
82
|
+
|
|
83
|
+
[View Pricing โ](https://councilof.ai/pricing) | [Contact Sales โ](mailto:sales@csoai.org)
|
|
84
|
+
|
|
85
|
+
## ๐ค Part of the MEOK Ecosystem
|
|
86
|
+
|
|
87
|
+
This server is part of the **[MEOK AI Labs](https://meok.ai)** ecosystem โ 300+ MCP servers for sovereign AI governance.
|
|
88
|
+
|
|
89
|
+
| Domain | Purpose |
|
|
90
|
+
|--------|---------|
|
|
91
|
+
| [councilof.ai](https://councilof.ai) | EU AI Act compliance marketplace |
|
|
92
|
+
| [safetyof.ai](https://safetyof.ai) | AI safety & monitoring |
|
|
93
|
+
| [meok.ai](https://meok.ai) | Sovereign AI platform |
|
|
94
|
+
| [cobolbridge.ai](https://cobolbridge.ai) | Legacy modernization |
|
|
95
|
+
|
|
96
|
+
## ๐ License
|
|
97
|
+
|
|
98
|
+
MIT ยฉ [CSOAI-ORG](https://github.com/CSOAI-ORG)
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
<p align="center">
|
|
103
|
+
<sub>Built with ๐ by <a href="https://meok.ai">MEOK AI Labs</a> ยท UK Companies House 16939677</sub>
|
|
104
|
+
</p>
|
|
105
|
+
MIT. By [MEOK AI Labs](https://meok.ai) (CSOAI LTD, UK Companies House 16939677). Not legal advice โ pair with qualified Korean counsel for production deployments.
|
|
106
|
+
|
|
107
|
+
<!-- BUY-LADDER:START -->
|
|
108
|
+
|
|
109
|
+
## ๐ธ Try MEOK in 30 seconds โ instant buy ladder
|
|
110
|
+
|
|
111
|
+
| Tier | Price | What you get | Stripe |
|
|
112
|
+
|---|---|---|---|
|
|
113
|
+
| Smoke test | **ยฃ1** | Signed sample MCP-Hardening report + Article 50 PDF | <https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j> |
|
|
114
|
+
| Quick Kit | **ยฃ9** | EU AI Act Article 50 implementation guide (C2PA + EU-Icon) | <https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j> |
|
|
115
|
+
| Founder Call | **ยฃ29** | 30-min 1-on-1 with the founder | <https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j> |
|
|
116
|
+
|
|
117
|
+
> Refundable. UK Stripe โ VAT-clean. Builds on the 81-MCP MEOK fleet.
|
|
118
|
+
> Verify any signed report at <https://meok.ai/verify>.
|
|
119
|
+
|
|
120
|
+
<!-- BUY-LADDER:END -->
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
## Configuration
|
|
124
|
+
|
|
125
|
+
Add to your `claude_desktop_config.json` (Claude Desktop) or your MCP client config:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"mcpServers": {
|
|
130
|
+
"korea-ai-basic-act-mcp": {
|
|
131
|
+
"command": "uvx",
|
|
132
|
+
"args": ["korea-ai-basic-act-mcp"]
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Or: `pip install korea-ai-basic-act-mcp` then run the `korea-ai-basic-act-mcp` command (stdio transport).
|
|
139
|
+
|
|
140
|
+
## Examples
|
|
141
|
+
|
|
142
|
+
Once configured, ask your assistant, for example:
|
|
143
|
+
- "Use `classify_system_impact` to โฆ"
|
|
144
|
+
- "Use `check_genai_labelling_required` to โฆ"
|
|
145
|
+
- "Use `assess_business_type` to โฆ"
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
<!-- mcp-name: io.github.CSOAI-ORG/korea-ai-basic-act-mcp -->
|
|
2
|
+
[](https://proofof.ai/scorecard/korea-ai-basic-act-mcp.html)
|
|
3
|
+
|
|
4
|
+
# Korea Ai Basic Act MCP
|
|
5
|
+
mcp-name: io.github.CSOAI-ORG/korea-ai-basic-act-mcp
|
|
6
|
+
|
|
7
|
+
# Korea AI Basic Act Compliance MCP
|
|
8
|
+
|
|
9
|
+
[](https://meok.ai)
|
|
10
|
+
[](https://councilof.ai)
|
|
11
|
+
[](LICENSE)
|
|
12
|
+
[](https://pypi.org/project/korea_ai_basic_act_mcp/)
|
|
13
|
+
|
|
14
|
+
> Korea AI Basic Act โ in force since 22 January 2026
|
|
15
|
+
|
|
16
|
+
Korea AI Basic Act โ in force since 22 January 2026
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## ๐ Quick Start
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Install via pip
|
|
24
|
+
pip install korea_ai_basic_act_mcp
|
|
25
|
+
|
|
26
|
+
# Or install via Smithery
|
|
27
|
+
npx -y @smithery/cli@latest install korea-ai-basic-act-mcp --client claude
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## โจ Features
|
|
31
|
+
|
|
32
|
+
- MCP protocol compliant
|
|
33
|
+
- Easy installation
|
|
34
|
+
- Well-documented API
|
|
35
|
+
- Production-ready
|
|
36
|
+
- Active maintenance
|
|
37
|
+
|
|
38
|
+
## ๐ Documentation
|
|
39
|
+
|
|
40
|
+
- [Full Documentation](https://docs.meok.ai/korea-ai-basic-act-mcp)
|
|
41
|
+
- [API Reference](https://api.meok.ai)
|
|
42
|
+
- [EU AI Act Compliance Guide](https://councilof.ai/compliance)
|
|
43
|
+
|
|
44
|
+
## ๐ก๏ธ Compliance
|
|
45
|
+
|
|
46
|
+
This MCP server is built with **EU AI Act compliance** built-in:
|
|
47
|
+
|
|
48
|
+
- โ
Article 9 โ Risk Management System
|
|
49
|
+
- โ
Article 13 โ Transparency & Instructions for Use
|
|
50
|
+
- โ
Article 15 โ Bias Detection & Testing
|
|
51
|
+
- โ
Article 26 โ FRIA Support (where applicable)
|
|
52
|
+
- โ
Article 50 โ AI Content Watermarking (where applicable)
|
|
53
|
+
|
|
54
|
+
Need help getting compliant? **[Book a free 15-min diagnostic โ](https://cal.com/csoai/august-audit)**
|
|
55
|
+
|
|
56
|
+
## ๐ข Enterprise
|
|
57
|
+
|
|
58
|
+
Need custom development, SLA guarantees, or white-label deployment?
|
|
59
|
+
|
|
60
|
+
- **Pro:** $99/mo โ Full MCP suite + EU AI Act tracking
|
|
61
|
+
- **Enterprise:** $499/mo โ Custom dev + SLA + Dedicated support
|
|
62
|
+
|
|
63
|
+
[View Pricing โ](https://councilof.ai/pricing) | [Contact Sales โ](mailto:sales@csoai.org)
|
|
64
|
+
|
|
65
|
+
## ๐ค Part of the MEOK Ecosystem
|
|
66
|
+
|
|
67
|
+
This server is part of the **[MEOK AI Labs](https://meok.ai)** ecosystem โ 300+ MCP servers for sovereign AI governance.
|
|
68
|
+
|
|
69
|
+
| Domain | Purpose |
|
|
70
|
+
|--------|---------|
|
|
71
|
+
| [councilof.ai](https://councilof.ai) | EU AI Act compliance marketplace |
|
|
72
|
+
| [safetyof.ai](https://safetyof.ai) | AI safety & monitoring |
|
|
73
|
+
| [meok.ai](https://meok.ai) | Sovereign AI platform |
|
|
74
|
+
| [cobolbridge.ai](https://cobolbridge.ai) | Legacy modernization |
|
|
75
|
+
|
|
76
|
+
## ๐ License
|
|
77
|
+
|
|
78
|
+
MIT ยฉ [CSOAI-ORG](https://github.com/CSOAI-ORG)
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
<p align="center">
|
|
83
|
+
<sub>Built with ๐ by <a href="https://meok.ai">MEOK AI Labs</a> ยท UK Companies House 16939677</sub>
|
|
84
|
+
</p>
|
|
85
|
+
MIT. By [MEOK AI Labs](https://meok.ai) (CSOAI LTD, UK Companies House 16939677). Not legal advice โ pair with qualified Korean counsel for production deployments.
|
|
86
|
+
|
|
87
|
+
<!-- BUY-LADDER:START -->
|
|
88
|
+
|
|
89
|
+
## ๐ธ Try MEOK in 30 seconds โ instant buy ladder
|
|
90
|
+
|
|
91
|
+
| Tier | Price | What you get | Stripe |
|
|
92
|
+
|---|---|---|---|
|
|
93
|
+
| Smoke test | **ยฃ1** | Signed sample MCP-Hardening report + Article 50 PDF | <https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j> |
|
|
94
|
+
| Quick Kit | **ยฃ9** | EU AI Act Article 50 implementation guide (C2PA + EU-Icon) | <https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j> |
|
|
95
|
+
| Founder Call | **ยฃ29** | 30-min 1-on-1 with the founder | <https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j> |
|
|
96
|
+
|
|
97
|
+
> Refundable. UK Stripe โ VAT-clean. Builds on the 81-MCP MEOK fleet.
|
|
98
|
+
> Verify any signed report at <https://meok.ai/verify>.
|
|
99
|
+
|
|
100
|
+
<!-- BUY-LADDER:END -->
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
## Configuration
|
|
104
|
+
|
|
105
|
+
Add to your `claude_desktop_config.json` (Claude Desktop) or your MCP client config:
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"mcpServers": {
|
|
110
|
+
"korea-ai-basic-act-mcp": {
|
|
111
|
+
"command": "uvx",
|
|
112
|
+
"args": ["korea-ai-basic-act-mcp"]
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Or: `pip install korea-ai-basic-act-mcp` then run the `korea-ai-basic-act-mcp` command (stdio transport).
|
|
119
|
+
|
|
120
|
+
## Examples
|
|
121
|
+
|
|
122
|
+
Once configured, ask your assistant, for example:
|
|
123
|
+
- "Use `classify_system_impact` to โฆ"
|
|
124
|
+
- "Use `check_genai_labelling_required` to โฆ"
|
|
125
|
+
- "Use `assess_business_type` to โฆ"
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: korea-ai-basic-act-mcp
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: Korea AI Basic Act compliance MCP โ in force since 22 Jan 2026. High-impact AI + mandatory GenAI labelling + MSIT obligations + cross-walks to EU AI Act + Japan AI Promotion. By MEOK AI Labs.
|
|
5
|
+
Author-email: Nicholas Templeman <nicholas@meok.ai>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://meok.ai/governance
|
|
8
|
+
Project-URL: Repository, https://github.com/CSOAI-ORG/korea-ai-basic-act-mcp
|
|
9
|
+
Keywords: mcp,korea-ai-basic-act,msit,ai-framework-act,compliance,governance,asia-pacific,meok
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
14
|
+
Classifier: Intended Audience :: Legal Industry
|
|
15
|
+
Requires-Python: >=3.10
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: mcp[cli]>=1.3.0
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
|
|
21
|
+
<!-- mcp-name: io.github.CSOAI-ORG/korea-ai-basic-act-mcp -->
|
|
22
|
+
[](https://proofof.ai/scorecard/korea-ai-basic-act-mcp.html)
|
|
23
|
+
|
|
24
|
+
# Korea Ai Basic Act MCP
|
|
25
|
+
mcp-name: io.github.CSOAI-ORG/korea-ai-basic-act-mcp
|
|
26
|
+
|
|
27
|
+
# Korea AI Basic Act Compliance MCP
|
|
28
|
+
|
|
29
|
+
[](https://meok.ai)
|
|
30
|
+
[](https://councilof.ai)
|
|
31
|
+
[](LICENSE)
|
|
32
|
+
[](https://pypi.org/project/korea_ai_basic_act_mcp/)
|
|
33
|
+
|
|
34
|
+
> Korea AI Basic Act โ in force since 22 January 2026
|
|
35
|
+
|
|
36
|
+
Korea AI Basic Act โ in force since 22 January 2026
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## ๐ Quick Start
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Install via pip
|
|
44
|
+
pip install korea_ai_basic_act_mcp
|
|
45
|
+
|
|
46
|
+
# Or install via Smithery
|
|
47
|
+
npx -y @smithery/cli@latest install korea-ai-basic-act-mcp --client claude
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## โจ Features
|
|
51
|
+
|
|
52
|
+
- MCP protocol compliant
|
|
53
|
+
- Easy installation
|
|
54
|
+
- Well-documented API
|
|
55
|
+
- Production-ready
|
|
56
|
+
- Active maintenance
|
|
57
|
+
|
|
58
|
+
## ๐ Documentation
|
|
59
|
+
|
|
60
|
+
- [Full Documentation](https://docs.meok.ai/korea-ai-basic-act-mcp)
|
|
61
|
+
- [API Reference](https://api.meok.ai)
|
|
62
|
+
- [EU AI Act Compliance Guide](https://councilof.ai/compliance)
|
|
63
|
+
|
|
64
|
+
## ๐ก๏ธ Compliance
|
|
65
|
+
|
|
66
|
+
This MCP server is built with **EU AI Act compliance** built-in:
|
|
67
|
+
|
|
68
|
+
- โ
Article 9 โ Risk Management System
|
|
69
|
+
- โ
Article 13 โ Transparency & Instructions for Use
|
|
70
|
+
- โ
Article 15 โ Bias Detection & Testing
|
|
71
|
+
- โ
Article 26 โ FRIA Support (where applicable)
|
|
72
|
+
- โ
Article 50 โ AI Content Watermarking (where applicable)
|
|
73
|
+
|
|
74
|
+
Need help getting compliant? **[Book a free 15-min diagnostic โ](https://cal.com/csoai/august-audit)**
|
|
75
|
+
|
|
76
|
+
## ๐ข Enterprise
|
|
77
|
+
|
|
78
|
+
Need custom development, SLA guarantees, or white-label deployment?
|
|
79
|
+
|
|
80
|
+
- **Pro:** $99/mo โ Full MCP suite + EU AI Act tracking
|
|
81
|
+
- **Enterprise:** $499/mo โ Custom dev + SLA + Dedicated support
|
|
82
|
+
|
|
83
|
+
[View Pricing โ](https://councilof.ai/pricing) | [Contact Sales โ](mailto:sales@csoai.org)
|
|
84
|
+
|
|
85
|
+
## ๐ค Part of the MEOK Ecosystem
|
|
86
|
+
|
|
87
|
+
This server is part of the **[MEOK AI Labs](https://meok.ai)** ecosystem โ 300+ MCP servers for sovereign AI governance.
|
|
88
|
+
|
|
89
|
+
| Domain | Purpose |
|
|
90
|
+
|--------|---------|
|
|
91
|
+
| [councilof.ai](https://councilof.ai) | EU AI Act compliance marketplace |
|
|
92
|
+
| [safetyof.ai](https://safetyof.ai) | AI safety & monitoring |
|
|
93
|
+
| [meok.ai](https://meok.ai) | Sovereign AI platform |
|
|
94
|
+
| [cobolbridge.ai](https://cobolbridge.ai) | Legacy modernization |
|
|
95
|
+
|
|
96
|
+
## ๐ License
|
|
97
|
+
|
|
98
|
+
MIT ยฉ [CSOAI-ORG](https://github.com/CSOAI-ORG)
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
<p align="center">
|
|
103
|
+
<sub>Built with ๐ by <a href="https://meok.ai">MEOK AI Labs</a> ยท UK Companies House 16939677</sub>
|
|
104
|
+
</p>
|
|
105
|
+
MIT. By [MEOK AI Labs](https://meok.ai) (CSOAI LTD, UK Companies House 16939677). Not legal advice โ pair with qualified Korean counsel for production deployments.
|
|
106
|
+
|
|
107
|
+
<!-- BUY-LADDER:START -->
|
|
108
|
+
|
|
109
|
+
## ๐ธ Try MEOK in 30 seconds โ instant buy ladder
|
|
110
|
+
|
|
111
|
+
| Tier | Price | What you get | Stripe |
|
|
112
|
+
|---|---|---|---|
|
|
113
|
+
| Smoke test | **ยฃ1** | Signed sample MCP-Hardening report + Article 50 PDF | <https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j> |
|
|
114
|
+
| Quick Kit | **ยฃ9** | EU AI Act Article 50 implementation guide (C2PA + EU-Icon) | <https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j> |
|
|
115
|
+
| Founder Call | **ยฃ29** | 30-min 1-on-1 with the founder | <https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j> |
|
|
116
|
+
|
|
117
|
+
> Refundable. UK Stripe โ VAT-clean. Builds on the 81-MCP MEOK fleet.
|
|
118
|
+
> Verify any signed report at <https://meok.ai/verify>.
|
|
119
|
+
|
|
120
|
+
<!-- BUY-LADDER:END -->
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
## Configuration
|
|
124
|
+
|
|
125
|
+
Add to your `claude_desktop_config.json` (Claude Desktop) or your MCP client config:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"mcpServers": {
|
|
130
|
+
"korea-ai-basic-act-mcp": {
|
|
131
|
+
"command": "uvx",
|
|
132
|
+
"args": ["korea-ai-basic-act-mcp"]
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Or: `pip install korea-ai-basic-act-mcp` then run the `korea-ai-basic-act-mcp` command (stdio transport).
|
|
139
|
+
|
|
140
|
+
## Examples
|
|
141
|
+
|
|
142
|
+
Once configured, ask your assistant, for example:
|
|
143
|
+
- "Use `classify_system_impact` to โฆ"
|
|
144
|
+
- "Use `check_genai_labelling_required` to โฆ"
|
|
145
|
+
- "Use `assess_business_type` to โฆ"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
server.py
|
|
5
|
+
korea_ai_basic_act_mcp.egg-info/PKG-INFO
|
|
6
|
+
korea_ai_basic_act_mcp.egg-info/SOURCES.txt
|
|
7
|
+
korea_ai_basic_act_mcp.egg-info/dependency_links.txt
|
|
8
|
+
korea_ai_basic_act_mcp.egg-info/entry_points.txt
|
|
9
|
+
korea_ai_basic_act_mcp.egg-info/requires.txt
|
|
10
|
+
korea_ai_basic_act_mcp.egg-info/top_level.txt
|
|
11
|
+
tests/test_korea.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
mcp[cli]>=1.3.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
server
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "korea-ai-basic-act-mcp"
|
|
7
|
+
version = "1.0.1"
|
|
8
|
+
description = "Korea AI Basic Act compliance MCP โ in force since 22 Jan 2026. High-impact AI + mandatory GenAI labelling + MSIT obligations + cross-walks to EU AI Act + Japan AI Promotion. By MEOK AI Labs."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = { text = "MIT" }
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
authors = [{ name = "Nicholas Templeman", email = "nicholas@meok.ai" }]
|
|
13
|
+
keywords = ["mcp", "korea-ai-basic-act", "msit", "ai-framework-act", "compliance", "governance", "asia-pacific", "meok"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 4 - Beta",
|
|
16
|
+
"License :: OSI Approved :: MIT License",
|
|
17
|
+
"Programming Language :: Python :: 3",
|
|
18
|
+
"Topic :: Software Development :: Libraries",
|
|
19
|
+
"Intended Audience :: Legal Industry",
|
|
20
|
+
]
|
|
21
|
+
dependencies = ["mcp[cli]>=1.3.0"]
|
|
22
|
+
|
|
23
|
+
[project.urls]
|
|
24
|
+
Homepage = "https://meok.ai/governance"
|
|
25
|
+
Repository = "https://github.com/CSOAI-ORG/korea-ai-basic-act-mcp"
|
|
26
|
+
|
|
27
|
+
[project.scripts]
|
|
28
|
+
korea-ai-basic-act-mcp = "server:main"
|
|
29
|
+
|
|
30
|
+
[tool.setuptools]
|
|
31
|
+
py-modules = ["server"]
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Korea AI Basic Act Compliance MCP
|
|
4
|
+
==================================
|
|
5
|
+
|
|
6
|
+
By MEOK AI Labs ยท https://meok.ai ยท MIT
|
|
7
|
+
<!-- mcp-name: io.github.CSOAI-ORG/korea-ai-basic-act-mcp -->
|
|
8
|
+
|
|
9
|
+
WHAT THIS COVERS
|
|
10
|
+
----------------
|
|
11
|
+
The Republic of Korea's Framework Act on the Development of Artificial
|
|
12
|
+
Intelligence and Establishment of a Foundation for Trustworthiness
|
|
13
|
+
(commonly: AI Basic Act / AI Framework Act).
|
|
14
|
+
|
|
15
|
+
- Promulgated 21 January 2025
|
|
16
|
+
- IN FORCE since 22 January 2026 (one-year transition period)
|
|
17
|
+
- Administered by MSIT (Ministry of Science and ICT)
|
|
18
|
+
- One-year grace period on administrative fines, but obligations apply now
|
|
19
|
+
|
|
20
|
+
KEY OBLIGATIONS
|
|
21
|
+
---------------
|
|
22
|
+
1. High-impact AI systems (healthcare, energy, public services, infrastructure)
|
|
23
|
+
require specific safety + transparency measures
|
|
24
|
+
2. Generative AI MUST be labeled (mandatory disclosure for certain applications)
|
|
25
|
+
3. AI development AND AI utilization businesses are both covered
|
|
26
|
+
4. National AI Committee oversight + 3-year basic AI plan
|
|
27
|
+
5. Disclosure obligations for some AI systems
|
|
28
|
+
6. Cross-border applicability for businesses serving Korean users
|
|
29
|
+
|
|
30
|
+
TOOLS
|
|
31
|
+
-----
|
|
32
|
+
- classify_system_impact(description): is this "high-impact" under the Act?
|
|
33
|
+
- check_genai_labelling_required(system_type): is mandatory labelling required?
|
|
34
|
+
- assess_business_type(activities): AI developer vs utilization operator
|
|
35
|
+
- get_obligations_checklist(business_type, impact_level): what to do
|
|
36
|
+
- sign_compliance_attestation(assessment): HMAC-signed evidence
|
|
37
|
+
- cross_walk_eu_ai_act(korea_assessment): Korea โ EU AI Act alignment
|
|
38
|
+
- cross_walk_jp_ai_promotion(korea_assessment): Korea โ Japan parallel
|
|
39
|
+
|
|
40
|
+
PRICING
|
|
41
|
+
-------
|
|
42
|
+
Free MIT self-host ยท ยฃ29/mo Starter ยท ยฃ79/mo Pro ยท Governance Substrate
|
|
43
|
+
ยฃ499/mo ยท Universe ยฃ1,499/mo. For Korean firms hitting the 22 Jan 2026
|
|
44
|
+
deadline: pays for itself in one consultancy-hour avoided.
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
from __future__ import annotations
|
|
48
|
+
import hashlib
|
|
49
|
+
import hmac
|
|
50
|
+
import json
|
|
51
|
+
import os
|
|
52
|
+
import time
|
|
53
|
+
from datetime import datetime, timezone
|
|
54
|
+
from typing import Optional
|
|
55
|
+
from mcp.server.fastmcp import FastMCP
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
mcp = FastMCP("korea-ai-basic-act")
|
|
59
|
+
|
|
60
|
+
_HMAC_SECRET = os.environ.get("MEOK_HMAC_SECRET", "")
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
HIGH_IMPACT_SECTORS = [
|
|
64
|
+
"healthcare", "medical", "hospital", "patient",
|
|
65
|
+
"energy", "electricity", "grid", "nuclear",
|
|
66
|
+
"public", "government", "civic", "municipality",
|
|
67
|
+
"infrastructure", "transportation", "rail",
|
|
68
|
+
"financial", "banking", "credit",
|
|
69
|
+
"education", "school", "student",
|
|
70
|
+
"judicial", "law-enforcement", "court",
|
|
71
|
+
"safety", "emergency",
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
GENAI_LABEL_REQUIRED_APPLICATIONS = [
|
|
76
|
+
"deepfake", "synthetic media", "generated image", "generated video",
|
|
77
|
+
"generated audio", "generated text", "ai-written", "ai-created",
|
|
78
|
+
"voice cloning", "face swap", "translation", "summarization-publication",
|
|
79
|
+
"news-generation", "advertising-creative",
|
|
80
|
+
]
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def _sign(payload: dict) -> str:
|
|
84
|
+
if not _HMAC_SECRET:
|
|
85
|
+
return "unsigned-no-key-configured"
|
|
86
|
+
return hmac.new(_HMAC_SECRET.encode(), json.dumps(payload, sort_keys=True).encode(), hashlib.sha256).hexdigest()
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def _ts() -> str:
|
|
90
|
+
return datetime.now(timezone.utc).isoformat()
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
94
|
+
# Tools
|
|
95
|
+
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
96
|
+
|
|
97
|
+
@mcp.tool()
|
|
98
|
+
def classify_system_impact(description: str) -> dict:
|
|
99
|
+
"""
|
|
100
|
+
Classify whether an AI system is "high-impact" under the Korea AI Basic Act.
|
|
101
|
+
|
|
102
|
+
Args:
|
|
103
|
+
description: Free-text description of the AI system + intended use.
|
|
104
|
+
|
|
105
|
+
Returns:
|
|
106
|
+
{impact_level, hit_sectors, obligations_count, signed}
|
|
107
|
+
"""
|
|
108
|
+
text = description.lower()
|
|
109
|
+
hit = [s for s in HIGH_IMPACT_SECTORS if s in text]
|
|
110
|
+
if len(hit) >= 2:
|
|
111
|
+
impact = "HIGH_IMPACT"
|
|
112
|
+
elif len(hit) == 1:
|
|
113
|
+
impact = "POTENTIALLY_HIGH_IMPACT"
|
|
114
|
+
else:
|
|
115
|
+
impact = "STANDARD"
|
|
116
|
+
|
|
117
|
+
obligation_count = {"HIGH_IMPACT": 12, "POTENTIALLY_HIGH_IMPACT": 8, "STANDARD": 4}[impact]
|
|
118
|
+
payload = {
|
|
119
|
+
"act": "Republic of Korea AI Basic Act (Framework Act on AI Development)",
|
|
120
|
+
"in_force_since": "2026-01-22",
|
|
121
|
+
"description": description[:300],
|
|
122
|
+
"impact_level": impact,
|
|
123
|
+
"hit_sectors": hit,
|
|
124
|
+
"obligations_count": obligation_count,
|
|
125
|
+
"grace_period_admin_fines": "Until 2027-01-22 (1-year MSIT grace)",
|
|
126
|
+
"ts": _ts(),
|
|
127
|
+
}
|
|
128
|
+
return {**payload, "signature": _sign(payload), "verify_url": "https://verify.meok.ai"}
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
@mcp.tool()
|
|
132
|
+
def check_genai_labelling_required(system_type: str) -> dict:
|
|
133
|
+
"""
|
|
134
|
+
Check whether mandatory GenAI labelling applies under the Korea AI Basic Act.
|
|
135
|
+
|
|
136
|
+
Args:
|
|
137
|
+
system_type: Description of the generative output / use case.
|
|
138
|
+
|
|
139
|
+
Returns:
|
|
140
|
+
{required, matched_application_keywords, recommendation}
|
|
141
|
+
"""
|
|
142
|
+
text = system_type.lower()
|
|
143
|
+
hits = [k for k in GENAI_LABEL_REQUIRED_APPLICATIONS if k in text]
|
|
144
|
+
required = len(hits) >= 1
|
|
145
|
+
return {
|
|
146
|
+
"labelling_required": required,
|
|
147
|
+
"matched_application_keywords": hits,
|
|
148
|
+
"recommendation": (
|
|
149
|
+
"MUST label all generated content with a machine-readable + human-readable disclosure. "
|
|
150
|
+
"Disclosure must identify the system as AI-generated and (where applicable) the underlying model."
|
|
151
|
+
if required else
|
|
152
|
+
"Voluntary labelling encouraged but not strictly mandated for this use case."
|
|
153
|
+
),
|
|
154
|
+
"implementation_hint": "Use the meok watermarking-authenticity-mcp (C2PA manifest + invisible watermark + signed conformity attestation) โ same MCP that satisfies EU AI Act Article 50.",
|
|
155
|
+
"standard_reference": "Republic of Korea AI Basic Act (in force 22 Jan 2026)",
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
@mcp.tool()
|
|
160
|
+
def assess_business_type(activities: str) -> dict:
|
|
161
|
+
"""
|
|
162
|
+
Determine whether the business is an AI development operator or AI utilization
|
|
163
|
+
operator (or both) under the Act.
|
|
164
|
+
|
|
165
|
+
Args:
|
|
166
|
+
activities: Free-text describing what the business does with AI.
|
|
167
|
+
|
|
168
|
+
Returns:
|
|
169
|
+
{types, obligations_overview}
|
|
170
|
+
"""
|
|
171
|
+
t = activities.lower()
|
|
172
|
+
is_developer = any(k in t for k in ["train", "develop", "build model", "fine-tune", "release model", "publish weights"])
|
|
173
|
+
is_utilization = any(k in t for k in ["deploy", "use", "integrate", "incorporate", "embed", "serve users", "customer-facing", "saas"])
|
|
174
|
+
|
|
175
|
+
types = []
|
|
176
|
+
if is_developer:
|
|
177
|
+
types.append("AI development business operator")
|
|
178
|
+
if is_utilization:
|
|
179
|
+
types.append("AI utilization business operator")
|
|
180
|
+
if not types:
|
|
181
|
+
types.append("Not yet in scope (re-assess if AI deployed at scale)")
|
|
182
|
+
|
|
183
|
+
obligations = {
|
|
184
|
+
"AI development business operator": [
|
|
185
|
+
"Disclose model card + foreseeable misuse",
|
|
186
|
+
"Maintain training-data provenance records",
|
|
187
|
+
"Test for safety + bias before release",
|
|
188
|
+
"Cooperate with MSIT inspections",
|
|
189
|
+
],
|
|
190
|
+
"AI utilization business operator": [
|
|
191
|
+
"Notify users of AI use (mandatory for some applications)",
|
|
192
|
+
"GenAI labelling for synthetic content",
|
|
193
|
+
"Maintain incident-response procedures",
|
|
194
|
+
"Risk-based safety measures for high-impact systems",
|
|
195
|
+
],
|
|
196
|
+
}
|
|
197
|
+
overview = []
|
|
198
|
+
for t_name in types:
|
|
199
|
+
if t_name in obligations:
|
|
200
|
+
overview.append({"type": t_name, "obligations": obligations[t_name]})
|
|
201
|
+
|
|
202
|
+
return {
|
|
203
|
+
"business_types": types,
|
|
204
|
+
"obligations_overview": overview,
|
|
205
|
+
"covered_by_act": is_developer or is_utilization,
|
|
206
|
+
"note": "The Act applies broadly to anyone developing or commercially deploying AI in Korea, including foreign businesses serving Korean users.",
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
@mcp.tool()
|
|
211
|
+
def get_obligations_checklist(business_type: str, impact_level: str = "STANDARD") -> dict:
|
|
212
|
+
"""
|
|
213
|
+
Get the full obligations checklist for a business type + impact level.
|
|
214
|
+
|
|
215
|
+
Args:
|
|
216
|
+
business_type: "developer", "utilization", or "both".
|
|
217
|
+
impact_level: "STANDARD", "POTENTIALLY_HIGH_IMPACT", or "HIGH_IMPACT".
|
|
218
|
+
|
|
219
|
+
Returns:
|
|
220
|
+
{checklist, deadline, fine_grace_until}
|
|
221
|
+
"""
|
|
222
|
+
base = [
|
|
223
|
+
"Designate an internal AI compliance contact",
|
|
224
|
+
"Document AI system inventory + intended purposes",
|
|
225
|
+
"Implement incident response procedure",
|
|
226
|
+
"Maintain audit logs for AI decisions",
|
|
227
|
+
]
|
|
228
|
+
high_impact_add = [
|
|
229
|
+
"Submit notification of high-impact AI system to MSIT (where required)",
|
|
230
|
+
"Perform impact assessment before deployment",
|
|
231
|
+
"Maintain quarterly risk re-assessment",
|
|
232
|
+
"Implement human oversight for irreversible decisions",
|
|
233
|
+
"Pre-deployment safety testing + sign-off",
|
|
234
|
+
"Maintain redress mechanism for affected users",
|
|
235
|
+
"Disclose system existence + purpose to affected users (mandatory)",
|
|
236
|
+
"Cooperate with National AI Committee evaluations",
|
|
237
|
+
]
|
|
238
|
+
developer_add = [
|
|
239
|
+
"Publish model card (capabilities + limitations + foreseeable misuse)",
|
|
240
|
+
"Maintain training-data provenance (CycloneDX ML-BOM recommended)",
|
|
241
|
+
"Disclose foundational data sources where commercially feasible",
|
|
242
|
+
]
|
|
243
|
+
utilization_add = [
|
|
244
|
+
"Notify users of AI involvement in user-facing decisions",
|
|
245
|
+
"Apply GenAI labelling per mandatory categories",
|
|
246
|
+
"Maintain procurement-side AI risk register",
|
|
247
|
+
]
|
|
248
|
+
|
|
249
|
+
checklist = list(base)
|
|
250
|
+
if impact_level in ("HIGH_IMPACT", "POTENTIALLY_HIGH_IMPACT"):
|
|
251
|
+
checklist += high_impact_add
|
|
252
|
+
if business_type in ("developer", "both"):
|
|
253
|
+
checklist += developer_add
|
|
254
|
+
if business_type in ("utilization", "both"):
|
|
255
|
+
checklist += utilization_add
|
|
256
|
+
|
|
257
|
+
return {
|
|
258
|
+
"act": "Republic of Korea AI Basic Act",
|
|
259
|
+
"in_force_since": "2026-01-22",
|
|
260
|
+
"business_type": business_type,
|
|
261
|
+
"impact_level": impact_level,
|
|
262
|
+
"checklist": checklist,
|
|
263
|
+
"fine_grace_until": "2027-01-22 (MSIT 1-year grace on administrative fines)",
|
|
264
|
+
"next_step": "Run impact assessment via iso-42005-impact-mcp for ISO 42005 cross-walk evidence.",
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
@mcp.tool()
|
|
269
|
+
def sign_compliance_attestation(assessment: dict) -> dict:
|
|
270
|
+
"""HMAC-sign a completed Korea-AI-Basic-Act assessment."""
|
|
271
|
+
aid = f"krai_{int(time.time())}_{os.urandom(4).hex()}"
|
|
272
|
+
payload = {
|
|
273
|
+
"assessment_id": aid,
|
|
274
|
+
"act": "Republic of Korea AI Basic Act",
|
|
275
|
+
"in_force_since": "2026-01-22",
|
|
276
|
+
"ts": _ts(),
|
|
277
|
+
"impact_level": assessment.get("impact_level", "UNKNOWN"),
|
|
278
|
+
"business_types": assessment.get("business_types", []),
|
|
279
|
+
}
|
|
280
|
+
sig = _sign(payload)
|
|
281
|
+
return {
|
|
282
|
+
"assessment_id": aid,
|
|
283
|
+
"signature": sig,
|
|
284
|
+
"verify_url": f"https://verify.meok.ai?assessment={aid}",
|
|
285
|
+
"chain_entry": payload,
|
|
286
|
+
"audit_value": "Use as MSIT inspection evidence + cross-jurisdictional compliance proof.",
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
@mcp.tool()
|
|
291
|
+
def cross_walk_eu_ai_act(korea_assessment: dict) -> dict:
|
|
292
|
+
"""Map Korea AI Basic Act obligations to EU AI Act articles."""
|
|
293
|
+
return {
|
|
294
|
+
"standards": ["Korea AI Basic Act", "EU AI Act (Regulation (EU) 2024/1689)"],
|
|
295
|
+
"mappings": [
|
|
296
|
+
{"korea": "High-impact AI system measures", "eu": "Article 6 + Annex III high-risk classification"},
|
|
297
|
+
{"korea": "GenAI mandatory labelling", "eu": "Article 50 transparency obligations"},
|
|
298
|
+
{"korea": "Incident response + AI safety", "eu": "Article 73 serious-incident reporting"},
|
|
299
|
+
{"korea": "Risk-based safety measures", "eu": "Article 9 Risk Management System"},
|
|
300
|
+
{"korea": "Training-data provenance", "eu": "Article 10 Data and Data Governance"},
|
|
301
|
+
{"korea": "Human oversight for irreversible decisions", "eu": "Article 14 human oversight"},
|
|
302
|
+
{"korea": "User notification of AI use", "eu": "Article 50 + Article 26 deployer obligations"},
|
|
303
|
+
],
|
|
304
|
+
"audit_value": "EU + Korea evidence in one chain โ minimises duplicate compliance work for firms serving both markets.",
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
@mcp.tool()
|
|
309
|
+
def cross_walk_jp_ai_promotion(korea_assessment: dict) -> dict:
|
|
310
|
+
"""Map Korea AI Basic Act to the Japan AI Promotion Act (2025)."""
|
|
311
|
+
return {
|
|
312
|
+
"standards": ["Korea AI Basic Act (mandatory)", "Japan AI Promotion Act (honour-system)"],
|
|
313
|
+
"mappings": [
|
|
314
|
+
{"korea": "High-impact AI system measures (mandatory)", "japan": "Voluntary risk assessment under METI guidelines"},
|
|
315
|
+
{"korea": "MSIT inspection cooperation", "japan": "Self-attestation to METI framework"},
|
|
316
|
+
{"korea": "GenAI labelling (mandatory)", "japan": "Voluntary GenAI disclosure"},
|
|
317
|
+
{"korea": "Administrative fines (after grace)", "japan": "Honour-system only โ no fines"},
|
|
318
|
+
],
|
|
319
|
+
"audit_value": "Korea is stricter; Japan implementation usually requires a Korea-grade approach by default for firms serving both.",
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
def main():
|
|
324
|
+
mcp.run()
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
if __name__ == "__main__":
|
|
328
|
+
main()
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
# โโ MEOK monetization layer (Stripe upgrade ยท PAYG ยท pricing) โโโโโโโโโโ
|
|
332
|
+
# Free tier is zero-config. Upgrade to Pro (unlimited) or pay-as-you-go per call.
|
|
333
|
+
import os as _meok_os
|
|
334
|
+
MEOK_STRIPE_UPGRADE = "https://buy.stripe.com/5kQ6oJ0xS3ce8sl7ew8k91j" # Pro (unlimited)
|
|
335
|
+
MEOK_PAYG_KEY = _meok_os.environ.get("MEOK_PAYG_KEY", "") # set to enable PAYG (x402 / ~GBP0.05 per call)
|
|
336
|
+
MEOK_PRICING = "https://meok.ai/pricing"
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
def meok_upsell(tier: str = "free") -> dict:
|
|
340
|
+
"""Monetization options for free-tier callers: Pro upgrade, PAYG, or pricing page."""
|
|
341
|
+
if tier != "free":
|
|
342
|
+
return {}
|
|
343
|
+
return {"upgrade_url": MEOK_STRIPE_UPGRADE,
|
|
344
|
+
"payg_enabled": bool(MEOK_PAYG_KEY),
|
|
345
|
+
"pricing": MEOK_PRICING}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"""Smoke tests for korea-ai-basic-act-mcp."""
|
|
2
|
+
import sys, os, inspect, traceback
|
|
3
|
+
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
4
|
+
|
|
5
|
+
from server import (
|
|
6
|
+
classify_system_impact,
|
|
7
|
+
check_genai_labelling_required,
|
|
8
|
+
assess_business_type,
|
|
9
|
+
get_obligations_checklist,
|
|
10
|
+
sign_compliance_attestation,
|
|
11
|
+
cross_walk_eu_ai_act,
|
|
12
|
+
cross_walk_jp_ai_promotion,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def test_high_impact_for_healthcare_ai():
|
|
17
|
+
r = classify_system_impact("AI diagnosis system for hospital patients, also reads medical records")
|
|
18
|
+
assert r["impact_level"] == "HIGH_IMPACT"
|
|
19
|
+
assert any(s in r["hit_sectors"] for s in ["healthcare", "medical", "hospital", "patient"])
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def test_standard_impact_for_innocuous():
|
|
23
|
+
r = classify_system_impact("AI recipe recommendation tool for home cooking")
|
|
24
|
+
assert r["impact_level"] == "STANDARD"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def test_genai_labelling_required_for_deepfake():
|
|
28
|
+
r = check_genai_labelling_required("deepfake video editor for entertainment")
|
|
29
|
+
assert r["labelling_required"] is True
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def test_genai_labelling_voluntary_for_normal():
|
|
33
|
+
r = check_genai_labelling_required("internal Q&A bot for staff")
|
|
34
|
+
assert r["labelling_required"] is False
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def test_business_type_developer():
|
|
38
|
+
r = assess_business_type("we train and release LLMs on HuggingFace")
|
|
39
|
+
assert "AI development business operator" in r["business_types"]
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def test_business_type_both():
|
|
43
|
+
r = assess_business_type("we train models AND deploy them in customer-facing SaaS products")
|
|
44
|
+
assert len(r["business_types"]) >= 2
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def test_obligations_high_impact_developer():
|
|
48
|
+
r = get_obligations_checklist("developer", "HIGH_IMPACT")
|
|
49
|
+
assert len(r["checklist"]) >= 10
|
|
50
|
+
assert any("MSIT" in c for c in r["checklist"])
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def test_obligations_standard_utilization():
|
|
54
|
+
r = get_obligations_checklist("utilization", "STANDARD")
|
|
55
|
+
assert any("GenAI" in c or "users" in c for c in r["checklist"])
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def test_attestation_signs():
|
|
59
|
+
r = sign_compliance_attestation({"impact_level": "HIGH_IMPACT"})
|
|
60
|
+
assert r["assessment_id"].startswith("krai_")
|
|
61
|
+
assert len(r["signature"]) > 10
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def test_cross_walk_eu():
|
|
65
|
+
r = cross_walk_eu_ai_act({})
|
|
66
|
+
assert any("Article 50" in m["eu"] for m in r["mappings"])
|
|
67
|
+
assert any("Article 73" in m["eu"] for m in r["mappings"])
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def test_cross_walk_jp():
|
|
71
|
+
r = cross_walk_jp_ai_promotion({})
|
|
72
|
+
assert "Japan" in r["standards"][1]
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
if __name__ == "__main__":
|
|
76
|
+
g = dict(globals())
|
|
77
|
+
fns = [v for k, v in g.items() if k.startswith("test_") and inspect.isfunction(v)]
|
|
78
|
+
p = f = 0
|
|
79
|
+
for fn in fns:
|
|
80
|
+
try:
|
|
81
|
+
fn(); print(f"โ {fn.__name__}"); p += 1
|
|
82
|
+
except Exception as e:
|
|
83
|
+
print(f"โ {fn.__name__}: {type(e).__name__}: {e}"); traceback.print_exc(); f += 1
|
|
84
|
+
print(f"\n{p} passed, {f} failed")
|