@zelklab/seevo-mcp-server 0.1.6 → 0.1.7

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.
Files changed (2) hide show
  1. package/dist/index.js +46 -11
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -2,7 +2,6 @@
2
2
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
3
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
4
  import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
5
- import { analyzeProject } from "./analyzer.js";
6
5
  import { SeeveClient } from "./client.js";
7
6
  import { AuthManager } from "./auth.js";
8
7
  // MCP Server for Seevo
@@ -21,19 +20,38 @@ const seeveClient = new SeeveClient(authManager);
21
20
  const TOOLS = [
22
21
  {
23
22
  name: "seevo_register_project",
24
- description: "現在のプロジェクトをSeevoに登録します。プロジェクトディレクトリを解析してサービス情報を自動抽出し、Seevoバックエンドに登録します。事前にseevo_set_tokenでトークンを設定する必要があります。",
23
+ description: "プロジェクト情報をSeevoに登録します。事前にseevo_set_tokenでトークンを設定する必要があります。Claude Codeがプロジェクトを解析した結果を渡してください。",
25
24
  inputSchema: {
26
25
  type: "object",
27
26
  properties: {
28
- project_path: {
27
+ service_name: {
29
28
  type: "string",
30
- description: "プロジェクトディレクトリのパス(省略時はカレントディレクトリ)",
29
+ description: "サービス名",
31
30
  },
32
- name: {
31
+ description: {
33
32
  type: "string",
34
- description: "サービス名(省略時は自動検出)",
33
+ description: "サービスの説明",
34
+ },
35
+ target: {
36
+ type: "string",
37
+ description: "ターゲットユーザー",
38
+ },
39
+ features: {
40
+ type: "array",
41
+ items: { type: "string" },
42
+ description: "主な機能のリスト",
43
+ },
44
+ tech_stack: {
45
+ type: "array",
46
+ items: { type: "string" },
47
+ description: "使用している技術スタック",
48
+ },
49
+ url: {
50
+ type: "string",
51
+ description: "プロジェクトのURL(任意)",
35
52
  },
36
53
  },
54
+ required: ["service_name", "description", "target"],
37
55
  },
38
56
  },
39
57
  {
@@ -69,8 +87,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
69
87
  try {
70
88
  switch (name) {
71
89
  case "seevo_register_project": {
72
- const projectPath = args?.project_path || process.cwd();
73
- const projectName = args?.name;
74
90
  // Check authentication
75
91
  if (!authManager.isAuthenticated()) {
76
92
  return {
@@ -82,10 +98,29 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
82
98
  ],
83
99
  };
84
100
  }
85
- // Analyze project
86
- const analysis = await analyzeProject(projectPath, projectName);
101
+ // Get project info from Claude Code
102
+ const projectData = {
103
+ service_name: args?.service_name,
104
+ description: args?.description,
105
+ target: args?.target,
106
+ features: args?.features || [],
107
+ tech_stack: args?.tech_stack || [],
108
+ url: args?.url || undefined,
109
+ };
110
+ // Validate required fields
111
+ if (!projectData.service_name || !projectData.description || !projectData.target) {
112
+ return {
113
+ content: [
114
+ {
115
+ type: "text",
116
+ text: "エラー: service_name, description, targetは必須です。",
117
+ },
118
+ ],
119
+ isError: true,
120
+ };
121
+ }
87
122
  // Register to Seevo
88
- const result = await seeveClient.registerProject(analysis);
123
+ const result = await seeveClient.registerProject(projectData);
89
124
  const techStackText = result.tech_stack && result.tech_stack.length > 0
90
125
  ? `\n**技術スタック**: ${result.tech_stack.join(", ")}`
91
126
  : "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zelklab/seevo-mcp-server",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "MCP Server for Seevo - AI-powered project registration from Claude Code",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",