{
"mcpServers": {
"grpc-zig": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
blazigly fast gRPC/MCP client & server implementation in zig
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
Unlicense. View license →
Is it maintained?
Last commit 51 days ago. 123 stars.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
An open-source AI agent that brings the power of Gemini directly into your terminal.
The full-stack TypeScript framework to build, test, and deploy production-ready MCP servers and AI-native apps.
Open-source persistent memory for AI agent pipelines (LangGraph, CrewAI, AutoGen) and Claude. REST API + knowledge graph + autonomous consolidation.
MCP Security Weekly
Get CVE alerts and security updates for GRPC Zig and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A blazingly fast gRPC client & server implementation in Zig, designed for maximum performance and minimal overhead.
const std = @import("std");
const GrpcServer = @import("grpc-server").GrpcServer;
pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
defer _ = gpa.deinit();
const allocator = gpa.allocator();
// Create and configure server
var server = try GrpcServer.init(allocator, 50051, "secret-key");
defer server.deinit();
// Register handlers
try server.handlers.append(allocator, .{
.name = "SayHello",
.handler_fn = sayHello,
});
// Start server
try server.start();
}
fn sayHello(request: []const u8, allocator: std.mem.Allocator) ![]u8 {
_ = request;
return allocator.dupe(u8, "Hello from gRPC-zig!");
}
See examples/basic_server.zig for a complete example.
const std = @import("std");
const GrpcServer = @import("grpc-server").GrpcServer;
pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
defer _ = gpa.deinit();
const allocator = gpa.allocator();
var server = try GrpcServer.init(allocator, 50051, "secret-key");
defer server.deinit();
try server.start();
}
See examples/basic_client.zig for a complete example.
const std = @import("std");
const GrpcClient = @import("grpc-client").GrpcClient;
pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
defer _ = gpa.deinit();
const allocator = gpa.allocator();
var client = try GrpcClient.init(allocator, "localhost", 50051);
defer client.deinit();
const response = try client.call("SayHello", "World", .none);
defer allocator.free(response);
std.debug.print("Response: {s}\n", .{response});
}
All features are demonstrated in the examples/ directory:
zig fetch --save git+https://github.com/ziglana/gRPC-zig#main
build.zig:const grpc_zig_dep = b.dependency("grpc_zig", .{
.target = target,
.optimize = optimize,
});
// For server development
exe.root_module.addImport("grpc-server", grpc_zig_dep.module("grpc-server"));
// For client development
exe.root_module.addImport("grpc-client", grpc_zig_dep.module("grpc-client"));
const GrpcServer = @import("grpc-server").GrpcServer;
const GrpcClient = @import("grpc-client").GrpcClient;
Clone the repository and add it to your build.zig.zon:
.{
.name = "my-project",
.version = "0.1.0",
.dependencies = .{
... [View full README on GitHub](https://github.com/ziglana/gRPC-zig#readme)