Skip to content

Commit f8e6fe6

Browse files
authored
Merge pull request #3 from twilio-labs/readme
updated readme's
2 parents 351f689 + 2f9325b commit f8e6fe6

File tree

3 files changed

+204
-2
lines changed

3 files changed

+204
-2
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,3 +143,5 @@ twilio-oai
143143
.local/
144144

145145
.DS_Store
146+
147+
.vscode/

README.md

Lines changed: 91 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,97 @@
22

33
This is a monorepo for the Model Context Protocol server that exposes all of Twilio APIs.
44

5+
## What is MCP?
6+
7+
The Model Context Protocol (MCP) is a protocol for exchanging model context information between AI tools and services. This implementation allows you to expose Twilio's APIs to AI assistants and other tools that support the MCP protocol.
8+
9+
## Prerequisites
10+
11+
- Node.js 18 or higher
12+
- npm 9 or higher
13+
- A Twilio account with API credentials
14+
15+
## Installation
16+
17+
```bash
18+
# Clone the repository
19+
git clone https://github.com/twilio/mcp.git
20+
cd mcp
21+
22+
# Install dependencies
23+
npm install
24+
25+
# Build the packages
26+
npm run build
27+
```
28+
529
## Packages
630

31+
This monorepo contains two main packages:
32+
733
- [mcp](/packages/mcp) - MCP Server for all of Twilio's Public API
8-
- [openapi-mcp-server](/packages/openapi-mcp-server) - An MCP server that serves the given OpenAPI spec.
34+
- [openapi-mcp-server](/packages/openapi-mcp-server) - An MCP server that serves the given OpenAPI spec
35+
36+
Each package has its own comprehensive README with detailed documentation:
37+
38+
- [MCP Package Documentation](/packages/mcp/README.md)
39+
- [OpenAPI MCP Server Documentation](/packages/openapi-mcp-server/README.md)
40+
41+
## Quick Start
42+
43+
The easiest way to get started is by using npx:
44+
45+
```json
46+
{
47+
"mcpServers": {
48+
"twilio": {
49+
"command": "npx",
50+
"args": [
51+
"-y",
52+
"@twilio-alpha/mcp",
53+
"YOUR_ACCOUNT_SID/YOUR_API_KEY:YOUR_API_SECRET"
54+
]
55+
}
56+
}
57+
}
58+
```
59+
60+
Visit [Twilio API Keys docs](https://www.twilio.com/docs/iam/api-keys) for information on how to find/create your API Key and Secret.
61+
62+
## Basic Configuration Options
63+
64+
Both packages accept configuration parameters. Here's a brief overview:
65+
66+
- **MCP Server**: Use `--services` and `--tags` to filter which APIs to expose
67+
- **OpenAPI MCP Server**: Use `--apiPath` to specify OpenAPI spec files location
68+
69+
For complete configuration details, refer to the package-specific documentation linked above.
70+
71+
## Development
72+
73+
```bash
74+
# Run tests
75+
npm test
76+
77+
# Run linting
78+
npm run lint
79+
80+
# Fix linting issues
81+
npm run lint:fix
82+
```
83+
84+
## Troubleshooting Common Issues
85+
86+
- **Context Size Limitations**: Due to LLM context limits, load specific APIs using `--services` or `--tags`
87+
- **Authentication Issues**: Verify your Twilio API credentials format and permissions
88+
- **API Versioning**: Check you're using the correct API version (v1, v2, v3) for your needs
89+
90+
For detailed troubleshooting guidance, see the package-specific documentation.
91+
92+
## Contributing
93+
94+
Contributions are welcome! Please feel free to submit a Pull Request.
95+
96+
## License
97+
98+
This project is licensed under the ISC License - see the LICENSE file for details.

packages/mcp/README.md

Lines changed: 111 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,114 @@ If you prefer to play around with the server, you can clone the repository and r
9797
}
9898
}
9999
}
100-
```
100+
```
101+
102+
## Available Services
103+
104+
The following services can be used with the `--services` parameter:
105+
106+
- `twilio_accounts_v1` - Account Management API
107+
- `twilio_api_v2010` - Core Twilio API
108+
- `twilio_assistants_v1` - Autopilot API
109+
- `twilio_bulkexports_v1` - Bulk Exports API
110+
- `twilio_chat_v1`, `twilio_chat_v2`, `twilio_chat_v3` - Chat API
111+
- `twilio_content_v1`, `twilio_content_v2` - Content API
112+
- `twilio_conversations_v1` - Conversations API
113+
- `twilio_events_v1` - Events API
114+
- `twilio_flex_v1`, `twilio_flex_v2` - Flex API
115+
- `twilio_frontline_v1` - Frontline API
116+
- `twilio_iam_v1` - Identity and Access Management API
117+
- `twilio_insights_v1` - Insights API
118+
- `twilio_intelligence_v2` - Intelligence API
119+
- `twilio_ip_messaging_v1`, `twilio_ip_messaging_v2` - IP Messaging API
120+
- `twilio_lookups_v1`, `twilio_lookups_v2` - Lookups API
121+
- `twilio_marketplace_v1` - Marketplace API
122+
- `twilio_messaging_v1` - Messaging API
123+
- `twilio_microvisor_v1` - Microvisor API
124+
- `twilio_monitor_v1`, `twilio_monitor_v2` - Monitor API
125+
- `twilio_notify_v1` - Notify API
126+
- `twilio_numbers_v1`, `twilio_numbers_v2` - Phone Numbers API
127+
- `twilio_oauth_v1` - OAuth API
128+
- `twilio_pricing_v1`, `twilio_pricing_v2` - Pricing API
129+
- `twilio_proxy_v1` - Proxy API
130+
- `twilio_routes_v2` - Routes API
131+
- `twilio_serverless_v1` - Serverless API
132+
- `twilio_studio_v1`, `twilio_studio_v2` - Studio API
133+
- `twilio_supersim_v1` - Super SIM API
134+
- `twilio_sync_v1` - Sync API
135+
- `twilio_taskrouter_v1` - TaskRouter API
136+
- `twilio_trunking_v1` - Trunking API
137+
- `twilio_trusthub_v1` - Trust Hub API
138+
- `twilio_verify_v2` - Verify API
139+
- `twilio_video_v1` - Video API
140+
- `twilio_voice_v1` - Voice API
141+
- `twilio_wireless_v1` - Wireless API
142+
143+
For example, to use the Chat API v3, you would specify `--services twilio_chat_v3` in your configuration.
144+
145+
## Available Tags
146+
147+
The following tags can be used with the `--tags` parameter to select specific API endpoints:
148+
149+
### Accounts API Tags
150+
- `AccountsV1AuthTokenPromotion` - Auth Token Promotion
151+
- `AccountsV1Aws` - AWS Integration
152+
- `AccountsV1BulkConsents` - Bulk Consents Management
153+
- `AccountsV1BulkContacts` - Bulk Contacts Management
154+
- `AccountsV1PublicKey` - Public Key Management
155+
- `AccountsV1Safelist` - Safelist Management
156+
- `AccountsV1SecondaryAuthToken` - Secondary Auth Token Management
157+
158+
### API 2010 Tags (Core Twilio API)
159+
- `Api20100401Account` - Account Management
160+
- `Api20100401AddOnResult` - AddOn Results
161+
- `Api20100401Address` - Address Management
162+
- `Api20100401Application` - Application Management
163+
- `Api20100401Call` - Call Management
164+
- `Api20100401Conference` - Conference Management
165+
- `Api20100401IncomingPhoneNumber` - Incoming Phone Number Management
166+
- `Api20100401Message` - Message Management
167+
- `Api20100401Recording` - Recording Management
168+
- `Api20100401Token` - Token Management
169+
- `Api20100401Transcription` - Transcription Management
170+
- `Api20100401Usage` - Usage Management
171+
172+
### Studio API Tags
173+
- `StudioV2Execution` - Flow Execution Management
174+
- `StudioV2ExecutionContext` - Flow Execution Context
175+
- `StudioV2ExecutionStep` - Flow Execution Steps
176+
- `StudioV2Flow` - Flow Management
177+
- `StudioV2FlowRevision` - Flow Revision Management
178+
179+
### Conversations API Tags
180+
- `ConversationsV1Conversation` - Conversation Management
181+
- `ConversationsV1Message` - Message Management
182+
- `ConversationsV1Participant` - Participant Management
183+
- `ConversationsV1Service` - Service Management
184+
- `ConversationsV1User` - User Management
185+
186+
### Serverless API Tags
187+
- `ServerlessV1Asset` - Asset Management
188+
- `ServerlessV1AssetVersion` - Asset Version Management
189+
- `ServerlessV1Build` - Build Management
190+
- `ServerlessV1Deployment` - Deployment Management
191+
- `ServerlessV1Environment` - Environment Management
192+
- `ServerlessV1Function` - Function Management
193+
- `ServerlessV1Service` - Service Management
194+
- `ServerlessV1Variable` - Environment Variable Management
195+
196+
### TaskRouter API Tags
197+
- `TaskrouterV1Activity` - Activity Management
198+
- `TaskrouterV1Event` - Event Management
199+
- `TaskrouterV1Task` - Task Management
200+
- `TaskrouterV1TaskChannel` - Task Channel Management
201+
- `TaskrouterV1TaskQueue` - Task Queue Management
202+
- `TaskrouterV1TaskReservation` - Task Reservation Management
203+
- `TaskrouterV1Worker` - Worker Management
204+
- `TaskrouterV1WorkerChannel` - Worker Channel Management
205+
- `TaskrouterV1WorkerReservation` - Worker Reservation Management
206+
- `TaskrouterV1Workflow` - Workflow Management
207+
- `TaskrouterV1Workspace` - Workspace Management
208+
- `TaskrouterV1WorkspaceStatistics` - Workspace Statistics
209+
210+
This list includes the most commonly used tags. Each service has its own set of tags that follow the pattern `{ServiceName}{Version}{Resource}`. You can combine multiple tags by separating them with commas in your configuration.

0 commit comments

Comments
 (0)