We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/get-convex/convex-backend'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
syntax = "proto3";
option optimize_for = SPEED;
option java_multiple_files = true;
option go_package = "fivetran.com/fivetran_sdk_v2";
package fivetran_sdk.v2;
import "google/protobuf/timestamp.proto";
message ConfigurationFormRequest {}
message ConfigurationFormResponse {
bool schema_selection_supported = 1;
bool table_selection_supported = 2;
repeated FormField fields = 3;
repeated ConfigurationTest tests = 4;
}
message FormField {
string name = 1;
string label = 2;
optional bool required = 3;
optional string description = 4;
oneof type {
TextField text_field = 5;
DropdownField dropdown_field = 6;
ToggleField toggle_field = 7;
ConditionalFields conditional_fields = 10;
}
optional string default_value = 8;
optional string placeholder = 9;
}
message ConditionalFields {
VisibilityCondition condition = 1;
repeated FormField fields = 2;
}
message VisibilityCondition {
string condition_field = 1;
oneof visible_when {
bool bool_value = 2;
string string_value = 3;
bool empty_value = 4;
}
}
message DropdownField {
repeated string dropdown_field = 1;
}
message ToggleField {}
enum TextField {
PlainText = 0;
Password = 1;
Hidden = 2;
}
message ConfigurationTest {
string name = 1; // unique identifier for the test
string label = 2; // A few words indicating what we are testing, e.g. 'Connecting to database'
}
message TestRequest {
string name = 1;
map<string, string> configuration = 2;
}
message TestResponse {
oneof response {
bool success = 1;
string failure = 2;
}
}
message SchemaList {
repeated Schema schemas = 1;
}
message TableList {
repeated Table tables = 1;
}
message Schema {
string name = 1;
repeated Table tables = 2;
}
enum DataType {
UNSPECIFIED = 0;
BOOLEAN = 1;
SHORT = 2;
INT = 3;
LONG = 4;
DECIMAL = 5;
FLOAT = 6;
DOUBLE = 7;
NAIVE_DATE = 8;
NAIVE_DATETIME = 9;
UTC_DATETIME = 10;
BINARY = 11;
XML = 12;
STRING = 13;
JSON = 14;
NAIVE_TIME = 15;
}
message DataTypeParams {
oneof params {
DecimalParams decimal = 1;
int32 string_byte_length = 2;
}
}
message DecimalParams {
uint32 precision = 1;
uint32 scale = 2;
}
enum RecordType {
UPSERT = 0;
UPDATE = 1;
DELETE = 2;
TRUNCATE = 3;
}
message ValueType {
oneof inner {
bool null = 1;
bool bool = 2;
int32 short = 3;
int32 int = 4;
int64 long = 5;
float float = 6;
double double = 7;
google.protobuf.Timestamp naive_date = 8;
google.protobuf.Timestamp naive_datetime = 9;
google.protobuf.Timestamp utc_datetime = 10;
string decimal = 11;
bytes binary = 12;
string string = 13;
string json = 14;
string xml = 15;
google.protobuf.Timestamp naive_time = 16;
}
}
message Table {
string name = 1;
repeated Column columns = 2;
}
message Column {
string name = 1;
DataType type = 2;
bool primary_key = 3;
optional DataTypeParams params = 4;
}
message Warning {
string message = 1;
}
message Task {
string message = 1;
}