mcp-aws-level-checker 0.1.0__py3-none-any.whl
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.
- mcp_aws_level_checker/__init__.py +8 -0
- mcp_aws_level_checker/__main__.py +17 -0
- mcp_aws_level_checker/server.py +37 -0
- mcp_aws_level_checker-0.1.0.dist-info/METADATA +194 -0
- mcp_aws_level_checker-0.1.0.dist-info/RECORD +8 -0
- mcp_aws_level_checker-0.1.0.dist-info/WHEEL +4 -0
- mcp_aws_level_checker-0.1.0.dist-info/entry_points.txt +2 -0
- mcp_aws_level_checker-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
AWS Level Checker MCP Server
|
4
|
+
----------------------------
|
5
|
+
|
6
|
+
AWSの技術ブログのレベルを分析するMCPサーバー
|
7
|
+
"""
|
8
|
+
|
9
|
+
from .server import create_mcp_server
|
10
|
+
|
11
|
+
def main():
|
12
|
+
"""メインエントリーポイント"""
|
13
|
+
mcp = create_mcp_server()
|
14
|
+
mcp.run(transport='stdio')
|
15
|
+
|
16
|
+
if __name__ == "__main__":
|
17
|
+
main()
|
@@ -0,0 +1,37 @@
|
|
1
|
+
from mcp.server.fastmcp import FastMCP
|
2
|
+
|
3
|
+
def create_mcp_server():
|
4
|
+
mcp = FastMCP("aws-level-checker")
|
5
|
+
|
6
|
+
@mcp.tool()
|
7
|
+
async def analyze_aws_blog(blog_text: str) -> str:
|
8
|
+
"""
|
9
|
+
AWS技術ブログのテキストを分析し、技術レベルを判定します。
|
10
|
+
|
11
|
+
Args:
|
12
|
+
blog_text: AWS技術ブログのテキスト全文
|
13
|
+
|
14
|
+
Returns:
|
15
|
+
レベル判定結果と判定理由
|
16
|
+
"""
|
17
|
+
|
18
|
+
prompt = f"""
|
19
|
+
以下のAWS技術ブログのテキストを分析し、技術レベルを判定してください。
|
20
|
+
|
21
|
+
レベル判定基準:
|
22
|
+
- Level 100: AWS サービスの概要を解説するレベル
|
23
|
+
- Level 200: トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル
|
24
|
+
- Level 300: 対象のトピックの詳細を解説するレベル
|
25
|
+
- Level 400: 複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル
|
26
|
+
|
27
|
+
分析対象テキスト:
|
28
|
+
{blog_text}
|
29
|
+
|
30
|
+
フォーマット:
|
31
|
+
レベル: [判定したレベル (100/200/300/400)]
|
32
|
+
判定理由: [判定理由の詳細説明]
|
33
|
+
"""
|
34
|
+
|
35
|
+
return prompt
|
36
|
+
|
37
|
+
return mcp
|
@@ -0,0 +1,194 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: mcp-aws-level-checker
|
3
|
+
Version: 0.1.0
|
4
|
+
Summary: AWS技術ブログのレベルを分析するMCPサーバー
|
5
|
+
Project-URL: Homepage, https://github.com/yourusername/mcp-aws-level-checker
|
6
|
+
Project-URL: Bug Tracker, https://github.com/yourusername/mcp-aws-level-checker/issues
|
7
|
+
Author-email: Your Name <your.email@example.com>
|
8
|
+
License: MIT License
|
9
|
+
|
10
|
+
Copyright (c) 2025 みのるん
|
11
|
+
|
12
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
13
|
+
of this software and associated documentation files (the "Software"), to deal
|
14
|
+
in the Software without restriction, including without limitation the rights
|
15
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
16
|
+
copies of the Software, and to permit persons to whom the Software is
|
17
|
+
furnished to do so, subject to the following conditions:
|
18
|
+
|
19
|
+
The above copyright notice and this permission notice shall be included in all
|
20
|
+
copies or substantial portions of the Software.
|
21
|
+
|
22
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
23
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
24
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
25
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
26
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
27
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
28
|
+
SOFTWARE.
|
29
|
+
License-File: LICENSE
|
30
|
+
Classifier: License :: OSI Approved :: MIT License
|
31
|
+
Classifier: Operating System :: OS Independent
|
32
|
+
Classifier: Programming Language :: Python :: 3
|
33
|
+
Requires-Python: >=3.9
|
34
|
+
Requires-Dist: mcp[cli]>=1.2.0
|
35
|
+
Description-Content-Type: text/markdown
|
36
|
+
|
37
|
+
# AWSレベル判定くん MCPサーバー版
|
38
|
+
|
39
|
+
AWS技術ブログの内容を分析し、レベルを判定するMCPサーバーです。
|
40
|
+
|
41
|
+
大好評のうちにサービス終了となった [#AWSレベル判定くん](https://github.com/minorun365/aws-level-checker) の魂を継いでいます。
|
42
|
+
|
43
|
+

|
44
|
+
|
45
|
+
## 概要
|
46
|
+
|
47
|
+
このMCPサーバーは、AWS技術ブログの内容を分析し、以下の4つのレベルのいずれかに判定します:
|
48
|
+
|
49
|
+
- **Level 100**: AWSサービスの概要を解説するレベル
|
50
|
+
- **Level 200**: トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル
|
51
|
+
- **Level 300**: 対象のトピックの詳細を解説するレベル
|
52
|
+
- **Level 400**: 複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル
|
53
|
+
|
54
|
+
## インストール
|
55
|
+
|
56
|
+
### `uvx`を使用する方法(推奨)
|
57
|
+
|
58
|
+
[`uv`](https://docs.astral.sh/uv/)を使用する場合、特別なインストールは不要です。[`uvx`](https://docs.astral.sh/uv/guides/tools/)を使って直接実行できます:
|
59
|
+
|
60
|
+
```bash
|
61
|
+
uvx mcp-aws-level-checker
|
62
|
+
```
|
63
|
+
|
64
|
+
### PyPI経由でインストールする方法
|
65
|
+
|
66
|
+
pip を使用してインストールすることもできます:
|
67
|
+
|
68
|
+
```bash
|
69
|
+
pip install mcp-aws-level-checker
|
70
|
+
```
|
71
|
+
|
72
|
+
インストール後は、次のコマンドで実行できます:
|
73
|
+
|
74
|
+
```bash
|
75
|
+
python -m mcp_aws_level_checker
|
76
|
+
```
|
77
|
+
|
78
|
+
## 設定方法
|
79
|
+
|
80
|
+
### Claude.app での設定
|
81
|
+
|
82
|
+
Claude の設定に以下を追加してください:
|
83
|
+
|
84
|
+
#### uvx を使用する場合
|
85
|
+
|
86
|
+
```json
|
87
|
+
"mcpServers": {
|
88
|
+
"aws-level-checker": {
|
89
|
+
"command": "uvx",
|
90
|
+
"args": ["mcp-aws-level-checker"]
|
91
|
+
}
|
92
|
+
}
|
93
|
+
```
|
94
|
+
|
95
|
+
#### pip でインストールした場合
|
96
|
+
|
97
|
+
```json
|
98
|
+
"mcpServers": {
|
99
|
+
"aws-level-checker": {
|
100
|
+
"command": "python",
|
101
|
+
"args": ["-m", "mcp_aws_level_checker"]
|
102
|
+
}
|
103
|
+
}
|
104
|
+
```
|
105
|
+
|
106
|
+
### VS Code での設定
|
107
|
+
|
108
|
+
VS Code の設定ファイルに以下を追加してください。`Ctrl + Shift + P` を押して、`Preferences: Open User Settings (JSON)` と入力することで設定ファイルを開けます。
|
109
|
+
|
110
|
+
あるいは、`.vscode/mcp.json` ファイルをワークスペースに作成することで、設定を他のユーザーと共有できます。
|
111
|
+
|
112
|
+
> `.vscode/mcp.json` ファイルを使用する場合は、`mcp` キーが必要です。
|
113
|
+
|
114
|
+
#### uvx を使用する場合
|
115
|
+
|
116
|
+
```json
|
117
|
+
{
|
118
|
+
"mcp": {
|
119
|
+
"servers": {
|
120
|
+
"aws-level-checker": {
|
121
|
+
"command": "uvx",
|
122
|
+
"args": ["mcp-aws-level-checker"]
|
123
|
+
}
|
124
|
+
}
|
125
|
+
}
|
126
|
+
}
|
127
|
+
```
|
128
|
+
|
129
|
+
#### pip でインストールした場合
|
130
|
+
|
131
|
+
```json
|
132
|
+
{
|
133
|
+
"mcp": {
|
134
|
+
"servers": {
|
135
|
+
"aws-level-checker": {
|
136
|
+
"command": "python",
|
137
|
+
"args": ["-m", "mcp_aws_level_checker"]
|
138
|
+
}
|
139
|
+
}
|
140
|
+
}
|
141
|
+
}
|
142
|
+
```
|
143
|
+
|
144
|
+
## MCPサーバー仕様
|
145
|
+
|
146
|
+
- ツール名: `analyze_aws_blog`
|
147
|
+
- 入力形式:AWSブログ記事のテキスト全文
|
148
|
+
- 出力形式:以下のとおり
|
149
|
+
|
150
|
+
```
|
151
|
+
レベル: [判定したレベル (100/200/300/400)]
|
152
|
+
判定理由: [判定理由の詳細説明]
|
153
|
+
```
|
154
|
+
|
155
|
+
## ヒント
|
156
|
+
|
157
|
+
[Fetch](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch)と組み合わせて使うと便利です。
|
158
|
+
|
159
|
+
## 開発
|
160
|
+
|
161
|
+
### ローカルでの実行
|
162
|
+
|
163
|
+
このリポジトリをクローンして開発する場合:
|
164
|
+
|
165
|
+
```bash
|
166
|
+
# このリポジトリのクローン
|
167
|
+
git clone https://github.com/yourusername/mcp-aws-level-checker
|
168
|
+
cd mcp-aws-level-checker
|
169
|
+
|
170
|
+
# 仮想環境の作成と有効化
|
171
|
+
python -m venv .venv
|
172
|
+
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
173
|
+
|
174
|
+
# 開発モードでインストール
|
175
|
+
pip install -e .
|
176
|
+
```
|
177
|
+
|
178
|
+
### パッケージのビルド
|
179
|
+
|
180
|
+
```bash
|
181
|
+
pip install build
|
182
|
+
python -m build
|
183
|
+
```
|
184
|
+
|
185
|
+
### PyPI への公開
|
186
|
+
|
187
|
+
```bash
|
188
|
+
pip install twine
|
189
|
+
python -m twine upload dist/*
|
190
|
+
```
|
191
|
+
|
192
|
+
## ライセンス
|
193
|
+
|
194
|
+
MIT ライセンスで公開されています。詳しくはLICENSEファイルをご覧ください。
|
@@ -0,0 +1,8 @@
|
|
1
|
+
mcp_aws_level_checker/__init__.py,sha256=NOlLKy16CkQBdDkBpW-IMXaHKfDoYWRvpbn1kWXXDNw,132
|
2
|
+
mcp_aws_level_checker/__main__.py,sha256=QEPKCsgHtN64C1kt_UFhieDKA0anV4Py-HTglv6r7vw,353
|
3
|
+
mcp_aws_level_checker/server.py,sha256=OQ-h5wJFq6hXb0g2M0UzU_xSuz4rt2Q0G7sSnkUZjS4,1379
|
4
|
+
mcp_aws_level_checker-0.1.0.dist-info/METADATA,sha256=vB-ga7QYKgaDp-rzCrYqnBeNm96FNcqXVWtg3AoNOu4,5844
|
5
|
+
mcp_aws_level_checker-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
6
|
+
mcp_aws_level_checker-0.1.0.dist-info/entry_points.txt,sha256=AQ4r1CyKw9UFx0UxACvoa5-6YLJQycKDtfJ32H7ANrc,78
|
7
|
+
mcp_aws_level_checker-0.1.0.dist-info/licenses/LICENSE,sha256=tTNaRrtC798YMB7R4W2ANREfu8kydJ1DFUwg1u84L9k,1069
|
8
|
+
mcp_aws_level_checker-0.1.0.dist-info/RECORD,,
|
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2025 みのるん
|
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, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|