chore: re-enable local mcp builds (#475)
* bump rmcp version * uncomment mcp from local build script; bump rmcp crate version
This commit is contained in:
committed by
GitHub
parent
1cc551bbf3
commit
e9882b23b9
4
.gitignore
vendored
4
.gitignore
vendored
@@ -71,7 +71,7 @@ build-npm-package-codesign.sh
|
|||||||
|
|
||||||
npx-cli/dist
|
npx-cli/dist
|
||||||
npx-cli/vibe-kanban-*
|
npx-cli/vibe-kanban-*
|
||||||
backend/db.sqlite
|
vibe-kanban-*.tgz
|
||||||
|
|
||||||
# Development ports file
|
# Development ports file
|
||||||
.dev-ports.json
|
.dev-ports.json
|
||||||
@@ -80,4 +80,4 @@ dev_assets
|
|||||||
/frontend/.env.sentry-build-plugin
|
/frontend/.env.sentry-build-plugin
|
||||||
.ssh
|
.ssh
|
||||||
|
|
||||||
vibe-kanban-cloud/
|
vibe-kanban-cloud/
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ async-trait = "0.1"
|
|||||||
command-group = { version = "5.0", features = ["with-tokio"] }
|
command-group = { version = "5.0", features = ["with-tokio"] }
|
||||||
nix = { version = "0.29", features = ["signal", "process"] }
|
nix = { version = "0.29", features = ["signal", "process"] }
|
||||||
openssl-sys = { workspace = true }
|
openssl-sys = { workspace = true }
|
||||||
rmcp = { version = "0.2.1", features = ["server", "transport-io"] }
|
rmcp = { version = "0.5.0", features = ["server", "transport-io"] }
|
||||||
schemars = "0.8"
|
schemars = "0.8"
|
||||||
regex = "1.11.1"
|
regex = "1.11.1"
|
||||||
toml = "0.8"
|
toml = "0.8"
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ fn main() -> anyhow::Result<()> {
|
|||||||
.with(sentry_layer())
|
.with(sentry_layer())
|
||||||
.init();
|
.init();
|
||||||
|
|
||||||
tracing::debug!("[MCP] Starting MCP task server...");
|
let version = env!("CARGO_PKG_VERSION");
|
||||||
|
tracing::debug!("[MCP] Starting MCP task server version {version}...");
|
||||||
|
|
||||||
// Database connection
|
// Database connection
|
||||||
let database_url = format!(
|
let database_url = format!(
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ use rmcp::{
|
|||||||
model::{
|
model::{
|
||||||
CallToolResult, Content, Implementation, ProtocolVersion, ServerCapabilities, ServerInfo,
|
CallToolResult, Content, Implementation, ProtocolVersion, ServerCapabilities, ServerInfo,
|
||||||
},
|
},
|
||||||
schemars, tool, tool_handler, tool_router, Error as RmcpError, ServerHandler,
|
schemars, tool, tool_handler, tool_router, ErrorData, ServerHandler,
|
||||||
};
|
};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_json;
|
use serde_json;
|
||||||
@@ -218,7 +218,7 @@ impl TaskServer {
|
|||||||
title,
|
title,
|
||||||
description,
|
description,
|
||||||
}): Parameters<CreateTaskRequest>,
|
}): Parameters<CreateTaskRequest>,
|
||||||
) -> Result<CallToolResult, RmcpError> {
|
) -> Result<CallToolResult, ErrorData> {
|
||||||
// Parse project_id from string to UUID
|
// Parse project_id from string to UUID
|
||||||
let project_uuid = match Uuid::parse_str(&project_id) {
|
let project_uuid = match Uuid::parse_str(&project_id) {
|
||||||
Ok(uuid) => uuid,
|
Ok(uuid) => uuid,
|
||||||
@@ -300,7 +300,7 @@ impl TaskServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[tool(description = "List all the available projects")]
|
#[tool(description = "List all the available projects")]
|
||||||
async fn list_projects(&self) -> Result<CallToolResult, RmcpError> {
|
async fn list_projects(&self) -> Result<CallToolResult, ErrorData> {
|
||||||
match Project::find_all(&self.pool).await {
|
match Project::find_all(&self.pool).await {
|
||||||
Ok(projects) => {
|
Ok(projects) => {
|
||||||
let count = projects.len();
|
let count = projects.len();
|
||||||
@@ -353,7 +353,7 @@ impl TaskServer {
|
|||||||
status,
|
status,
|
||||||
limit,
|
limit,
|
||||||
}): Parameters<ListTasksRequest>,
|
}): Parameters<ListTasksRequest>,
|
||||||
) -> Result<CallToolResult, RmcpError> {
|
) -> Result<CallToolResult, ErrorData> {
|
||||||
let project_uuid = match Uuid::parse_str(&project_id) {
|
let project_uuid = match Uuid::parse_str(&project_id) {
|
||||||
Ok(uuid) => uuid,
|
Ok(uuid) => uuid,
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
@@ -494,7 +494,7 @@ impl TaskServer {
|
|||||||
description,
|
description,
|
||||||
status,
|
status,
|
||||||
}): Parameters<UpdateTaskRequest>,
|
}): Parameters<UpdateTaskRequest>,
|
||||||
) -> Result<CallToolResult, RmcpError> {
|
) -> Result<CallToolResult, ErrorData> {
|
||||||
let project_uuid = match Uuid::parse_str(&project_id) {
|
let project_uuid = match Uuid::parse_str(&project_id) {
|
||||||
Ok(uuid) => uuid,
|
Ok(uuid) => uuid,
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
@@ -628,7 +628,7 @@ impl TaskServer {
|
|||||||
project_id,
|
project_id,
|
||||||
task_id,
|
task_id,
|
||||||
}): Parameters<DeleteTaskRequest>,
|
}): Parameters<DeleteTaskRequest>,
|
||||||
) -> Result<CallToolResult, RmcpError> {
|
) -> Result<CallToolResult, ErrorData> {
|
||||||
let project_uuid = match Uuid::parse_str(&project_id) {
|
let project_uuid = match Uuid::parse_str(&project_id) {
|
||||||
Ok(uuid) => uuid,
|
Ok(uuid) => uuid,
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
@@ -722,7 +722,7 @@ impl TaskServer {
|
|||||||
project_id,
|
project_id,
|
||||||
task_id,
|
task_id,
|
||||||
}): Parameters<GetTaskRequest>,
|
}): Parameters<GetTaskRequest>,
|
||||||
) -> Result<CallToolResult, RmcpError> {
|
) -> Result<CallToolResult, ErrorData> {
|
||||||
let project_uuid = match Uuid::parse_str(&project_id) {
|
let project_uuid = match Uuid::parse_str(&project_id) {
|
||||||
Ok(uuid) => uuid,
|
Ok(uuid) => uuid,
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
|
|||||||
@@ -11,23 +11,23 @@ echo "🔨 Building frontend..."
|
|||||||
|
|
||||||
echo "🔨 Building Rust binaries..."
|
echo "🔨 Building Rust binaries..."
|
||||||
cargo build --release --manifest-path Cargo.toml
|
cargo build --release --manifest-path Cargo.toml
|
||||||
# cargo build --release --bin mcp_task_server --manifest-path Cargo.toml
|
cargo build --release --bin mcp_task_server --manifest-path Cargo.toml
|
||||||
|
|
||||||
echo "📦 Creating distribution package..."
|
echo "📦 Creating distribution package..."
|
||||||
|
|
||||||
# Copy the main binary
|
# Copy the main binary
|
||||||
cp target/release/server vibe-kanban
|
cp target/release/server vibe-kanban
|
||||||
# cp target/release/mcp_task_server vibe-kanban-mcp
|
zip -q vibe-kanban.zip vibe-kanban
|
||||||
|
rm -f vibe-kanban
|
||||||
zip vibe-kanban.zip vibe-kanban
|
|
||||||
# zip vibe-kanban-mcp.zip vibe-kanban-mcp
|
|
||||||
|
|
||||||
rm vibe-kanban #vibe-kanban-mcp
|
|
||||||
|
|
||||||
mv vibe-kanban.zip npx-cli/dist/macos-arm64/vibe-kanban.zip
|
mv vibe-kanban.zip npx-cli/dist/macos-arm64/vibe-kanban.zip
|
||||||
# mv vibe-kanban-mcp.zip npx-cli/dist/macos-arm64/vibe-kanban-mcp.zip
|
|
||||||
|
# Copy the MCP binary
|
||||||
|
cp target/release/mcp_task_server vibe-kanban-mcp
|
||||||
|
zip -q vibe-kanban-mcp.zip vibe-kanban-mcp
|
||||||
|
rm -f vibe-kanban-mcp
|
||||||
|
mv vibe-kanban-mcp.zip npx-cli/dist/macos-arm64/vibe-kanban-mcp.zip
|
||||||
|
|
||||||
echo "✅ NPM package ready!"
|
echo "✅ NPM package ready!"
|
||||||
echo "📁 Files created:"
|
echo "📁 Files created:"
|
||||||
echo " - npx-cli/dist/macos-arm64/vibe-kanban.zip"
|
echo " - npx-cli/dist/macos-arm64/vibe-kanban.zip"
|
||||||
# echo " - npx-cli/dist/macos-arm64/vibe-kanban-mcp.zip"
|
echo " - npx-cli/dist/macos-arm64/vibe-kanban-mcp.zip"
|
||||||
11
package.json
11
package.json
@@ -2,6 +2,13 @@
|
|||||||
"name": "vibe-kanban",
|
"name": "vibe-kanban",
|
||||||
"version": "0.0.61",
|
"version": "0.0.61",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"bin": {
|
||||||
|
"vibe-kanban": "npx-cli/bin/cli.js"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"npx-cli/bin/cli.js",
|
||||||
|
"npx-cli/dist/**"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"check": "npm run frontend:check && npm run backend:check",
|
"check": "npm run frontend:check && npm run backend:check",
|
||||||
"dev": "export FRONTEND_PORT=$(node scripts/setup-dev-environment.js frontend) && export BACKEND_PORT=$(node scripts/setup-dev-environment.js backend) && concurrently \"npm run backend:dev:watch\" \"npm run frontend:dev\"",
|
"dev": "export FRONTEND_PORT=$(node scripts/setup-dev-environment.js frontend) && export BACKEND_PORT=$(node scripts/setup-dev-environment.js backend) && concurrently \"npm run backend:dev:watch\" \"npm run frontend:dev\"",
|
||||||
@@ -13,7 +20,9 @@
|
|||||||
"backend:dev:watch": "DISABLE_WORKTREE_ORPHAN_CLEANUP=1 RUST_LOG=debug cargo watch -w crates -x 'run --bin server'",
|
"backend:dev:watch": "DISABLE_WORKTREE_ORPHAN_CLEANUP=1 RUST_LOG=debug cargo watch -w crates -x 'run --bin server'",
|
||||||
"generate-types": "cargo run --bin generate_types",
|
"generate-types": "cargo run --bin generate_types",
|
||||||
"generate-types:check": "cargo run --bin generate_types -- --check",
|
"generate-types:check": "cargo run --bin generate_types -- --check",
|
||||||
"prepare-db": "node scripts/prepare-db.js"
|
"prepare-db": "node scripts/prepare-db.js",
|
||||||
|
"build:npx": "bash ./local-build.sh",
|
||||||
|
"prepack": "npm run build:npx"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"concurrently": "^8.2.2",
|
"concurrently": "^8.2.2",
|
||||||
|
|||||||
Reference in New Issue
Block a user