In this article we cover all of the courses from anthropic academy.
Course 1: Introduction to Model Context Protocol
About this course
This course provides comprehensive coverage of the Model Context Protocol (MCP), focusing on building both MCP servers and clients using the Python SDK. You’ll learn about MCP’s three core primitivesโtools, resources, and promptsโand understand how they integrate with Claude AI to create powerful applications without writing extensive integration code.
Prerequisites
- Working knowledge of Python programming
- Basic understanding of JSON and HTTP request-response patterns
Who this course is for
- Developers looking to create MCP servers
Apply Here: Introduction to Model Context Protocol
Here are the Questions and Answers
Question 1: You’re building an MCP client to connect your application to an MCP server. What are the two main components you need?
An MCP Client class and a Client Session
Question 2: Your MCP client needs to find out what tools are available from an MCP server. What message type should it send?
ListToolsRequest
Question 3: You’ve built an MCP server and want to test if your tools work correctly before connecting to a full application. What’s the easiest way to do this?
Use the built-in MCP Inspector with `mcp dev mcp_server.py`
Question 4: You’re building a chat app where users ask Claude about their GitHub data. Without MCP, what’s the main problem you’d face?
You’d have to write and maintain all the GitHub tool code yourself
Question 5: You’re deciding how to implement a new feature in your MCP server. Users should be able to click a button to trigger a “summarize document” workflow. Which MCP primitive should you use?
Prompts – because users control when to start the workflow
Question 6: You’re using the Python MCP SDK to create a tool that reads files. What’s the easiest way to define this tool?
Use the @mcp.tool() decorator on a Python function
Question 7: You want to create a resource that fetches different documents based on their ID, like docs://documents/report.pdf. What type of resource should you use?
A templated resource with parameters in the URI
Course 2: Claude with Amazon Bedrock
About this course
This technical course provides a comprehensive guide to integrating and deploying Claude AI models through Amazon Bedrock. Developers will learn to implement Claude’s API, build production-ready applications, and leverage advanced features including tool use, retrieval augmented generation (RAG), and autonomous agents.
The curriculum covers practical implementation patterns, performance optimization techniques, and real-world application development using Claude’s capabilities within the AWS ecosystem.
Who this course is for
- Backend developersย building AI-powered applications requiring advanced language model integration
- ML engineersย implementing production RAG systems and conversational AI pipelines
- DevOps engineersย deploying and optimizing Claude models in AWS infrastructure
- Full-stack developersย creating applications with complex tool use and agent capabilities
- Technical architectsย designing scalable AI systems with retrieval, caching, and performance requirements
- Automation engineersย building autonomous agents for code generation, debugging, and task automation
Apply Here: Claude with Amazon Bedrock
Quiz on Working with the API
You’re building a chat app and users complain that responses take too long to appear. What feature should you implement?
- Send requests faster
- Add a loading spinner
- Make the messages shorter
- Use streaming to show text as it’s generated
You’re using Claude to extract data from documents and need the same consistent format every time. What temperature setting should you use?
- Temperature close to 0 for consistent, predictable outputs
- Temperature 0.5 for balanced responses
- Temperature 1.0 for maximum creativity
- Temperature doesn’t matter for data extraction
You want to build a customer service bot that only talks about your company’s products and stays professional. What’s the best approach?
- Tell users to only ask product questions
- Add “be professional” to every user message
- Use a system prompt that makes Claude act like a customer service representative
- Set the temperature to maximum creativity
You’re building a chatbot where users ask follow-up questions. A user asks “What’s 2+2?” and then asks “Add 5 to that.” What do you need to do for the second question to make sense?
- Send both the first question and Claude’s previous answer along with the second question
- Restart the conversation from the beginning
- Wait 30 seconds before sending the second question
- Send only the second question to Claude
Quiz on Prompt Evaluations
You need test data for evaluating your prompt. You want to create realistic examples quickly without writing them all by hand. What’s the best approach?
- Use the same example over and over
- Use Claude to automatically generate test cases
- Ask your friends to write them
- Copy examples from the internet
You’ve written a prompt for Claude and want to know if it works well. What’s the difference between prompt engineering and prompt evaluation?
- Prompt engineering is for beginners, prompt evaluation is for experts
- Prompt engineering tests the prompt, prompt evaluation writes it
- Prompt engineering writes better prompts, prompt evaluation measures how well they work
- They’re the same thing with different names
In prompt evaluation, what is a “grader” used for?
- To save your prompts to a file
- To give objective scores measuring output quality
- To write better prompts automatically
- To make Claude respond faster
You just wrote a prompt for your app. You test it once and it works great, so you decide to use it. What’s the main risk with this approach?
- The prompt will stop working after a few days
- Users will provide unexpected inputs that break it
- It will be too expensive to run
- Other developers won’t understand your code
You’re running a prompt evaluation. After creating your dataset and feeding questions through Claude, what’s the next step?
- Feed the responses through a grader to get scores
- Write a completely new prompt
- Ask users what they think
- Publish your prompt immediately
You’re using another AI model to evaluate Claude’s responses. To get better scores than just random numbers around 6, what should you ask the grader to provide?
- Just “good” or “bad”
- Strengths, weaknesses, reasoning, and a score
- A rewritten version of the response
- Only a number from 1-10
You want to check if Claude’s output contains certain keywords and has the right length. Which type of grader should you use?
- Manual grader
- Code grader
- Model grader
- Human grader
Quiz on Prompt Engineering
You want an AI to write movie reviews in a specific style. What’s the best way to show the AI exactly what you want?
- Use very strict formatting rules
- Tell it to copy famous movie critics
- Describe the style in great detail
- Give it a sample movie review as an example
You’re improving a prompt that generates workout plans. What should you do after writing your first version?
- Test it, see how well it works, then improve it
- Use it immediately for all workouts
- Write five different versions at once
- Ask other people to guess what it does
You’re asking an AI to analyze a long customer review mixed in with your instructions. What helps the AI understand which part is the review?
- Put the review at the very end
- Put the review between XML tags like <review></review>
- Write the review in a different font
- Make the review all uppercase
You want an AI to write a book summary. Which opening instruction works best?
- Write a three-paragraph summary of this book
- What do you think about summarizing things?
- I was wondering if you could maybe help with something about books?
- Books are interesting, aren’t they?
Quiz on Tool Use
Quiz on Tool Use
When using tools, what happens right after Claude asks for specific external data?
- Claude analyzes the original question again
- The user needs to approve the data request
- Your server runs code to fetch the requested information
- Claude provides the final answer immediately
You want to force Claude to use a specific tool for data extraction. Which toolChoice setting should you use?
- “toolChoice”: {“auto”: {}}}
- {“toolChoice”: {“tool”: {“name”: “tool-name”}}}
- {“toolChoice”: {“any”: {}}}
- {“toolChoice”: {“required”: true}}
You ask Claude “What’s the weather today?” but it says it doesn’t have current weather information. What would tools help Claude do?
- Access live weather data from external sources
- Ask you to check the weather yourself
- Guess the weather based on the date
- Remember previous weather conversations
You’re writing a tool function for Claude. What’s the most important thing to include when creating the JSON schema?
- The programming language being used
- Detailed descriptions of what the tool does and its parameters
- Your contact information
- The function’s source code
Quiz on Retrieval Augmented Generation
What is contextual retrieval?
- A technique that adds context to document chunks before storing them to improve search accuracy
- A way to reduce the size of document chunks
- A system for automatically generating new content from existing documents
- A method for searching through documents faster
What is a vector database in the context of RAG systems?
- A specialized database optimized for storing, comparing, and searching through numerical embeddings
- A system for backing up document files
- A regular database that stores text documents as files
- A database that only stores mathematical equations
You’re searching for a specific incident ID “INC-2023-Q4-011” in your documents. Semantic search isn’t finding it well. What search method would work better?
- Converting everything to lowercase first
- Searching only document titles
- BM25 lexical search for exact keyword matching
- Using longer text embeddings
You send the text “The cat sat on the mat” to an embedding model. What do you get back?
- A shorter version of the same text
- Keywords extracted from the text
- A list of about 1024 numbers representing the meaning
- A translation in another language
You have an 800-page financial report and want to ask an AI specific questions about it. What does RAG help you do?
- Send only the relevant sections to the AI for each question
- Make the document shorter by deleting pages
- Translate the document into simpler language
- Create a summary of the entire document
Quiz on Features of Claude
You send Claude the same long document twice in a row. What does prompt caching help with?
- stores your conversation history permanently
- It automatically summarizes repeated content
- It reduces the document’s file size
- It saves the computational work from processing the text in the document
You’ve optimized your prompt but Claude still isn’t accurate enough on a complex task. What should you consider next?
- Rewrite the prompt completely from scratch
- Break the task into smaller pieces
- Use extended thinking to improve accuracy
- Switch to a different AI model
You want to cache a short message that’s 500 tokens long. What will happen?
- It will be automatically expanded to meet requirements
- It won’t be cached because it’s too short
- It will be cached normally
- It will be cached at half price
What is an effective technique for increasing Claude’s effectiveness with images?
- Uploading more images
- Using prompt engineering techniques
- Using JPEG instead of PNG images
- Providing zoomed-in images
Quiz on Model Context Protocol
You’re building a chat app where users ask Claude about their GitHub data. Without MCP, what’s the main problem you’d face?
Claude can’t connect to the internet
GitHub doesn’t allow API access
You’d have to write and maintain all the GitHub tool functions yourself
Users can’t type GitHub questions
You’re creating an MCP server tool using the Python SDK. What’s the easiest way to define a new tool?
Create a separate configuration file
Send HTTP requests to register tools
Write complex JSON schemas manually
Use the @mcp.tool decorator on a function
Claude automatically decides to use a calculator tool when you ask “What’s 15 ร 23?” Who is controlling this tool usage?
The MCP server providing the tool
The application showing the chat
Claude (the AI model) itself
The user who asked the question
You just wrote an MCP server and want to test if your tools work correctly. What’s the best first step?
Ask other developers to try it
Connect it to Claude immediately
Write unit tests for each function
Use the MCP Inspector in your browser
You want to let users type “@document_name” to automatically include document content in their message. Should you use a tool or a resource?
Tool – because Claude needs the information
Resource – because documents are files
Resource – because the app fetches data for the UI
Tool – because it involves documents
You’re running an MCP client and server on the same computer. How do they most commonly communicate with each other?
Using Bluetooth connection
Through standard input/output
Through email messages
By writing files to disk
Your MCP client needs to find out what capabilities an MCP server offers. What message type should it send?
GetServerInfo
CheckCapabilities
ListToolsRequest
CallToolRequest
Your MCP server has tools, resources, and prompts. A user clicks a “Format Document” button in your app. Which primitive is being used?
Resources – because it accesses documents
Tools – because it formats something
All three at the same time
Prompts – because the user directly triggered it
Final Assessment Quiz
What are tokens in the context of language models?
Special passwords for accessing models
User identification numbers
The smallest units a language model can understand
Error messages from the system
What does the MMLU benchmark test?
Mathematical reasoning only
Knowledge across 57 different subjects
Visual understanding only
Programming ability only
What are the three main criteria for selecting an AI model?
Training data, accuracy, and memory
Capabilities, speed, and cost
Speed, color, and size
Age, popularity, and features
What happens when you increase the temperature setting?
Claude becomes more creative and varied in responses
Claude becomes more factual
Claude responds faster
Claude uses less memory
What is the main benefit of using streaming responses?
It costs less money
It works with longer prompts
Users see text appear immediately instead of waiting
Responses are more accurate
What is the main purpose of system prompts?
To make responses longer
To give Claude a specific role or behavior to follow
To increase processing speed
To reduce API costs
What does assistant message prefilling do?
Makes responses longer
Provides the beginning of Claude’s response to guide its direction
Speeds up processing
Reduces token usage
How does Constitutional AI differ from traditional AI training?
It only works with small models
It uses faster computers
It requires human supervision at all times
It embeds ethical principles directly into training from the start
Which Claude model is best for tasks requiring maximum speed?
Claude 3 Opus
Claude 3.5 Sonnet
Claude 3.5 Haiku
All models have the same speed
What is the main difference between pre-training and fine-tuning?
Pre-training requires human feedback, fine-tuning doesn’t
Pre-training is faster than fine-tuning
Pre-training creates basic language understanding, fine-tuning teaches assistant behavior
Fine-tuning only works on small models
When does Claude stop generating text with stop sequences?
After a certain number of words
When it runs out of ideas
Immediately when it generates any of the specified stop strings
After a time limit
What is the main purpose of prompt evaluation?
To objectively measure and improve prompt effectiveness
To reduce the cost of API calls
To make prompts longer
To make prompts easier to read
Why don’t multi-turn conversations work automatically with Claude?
You need special permissions
Claude can’t understand follow-up questions
Multi-turn conversations cost extra money
The API doesn’t store any previous messages
What does latency measure in AI systems?
The number of tokens processed
How much memory the model uses
The time delay between request and response
How accurate the model’s answers are
Why are XML tags useful in AI prompts?
They are required by all AI models to function properly
They reduce the cost of API calls
They make the AI process information faster
They provide structure and clear boundaries between different sections of content in prompts
What is interpretability in the context of AI research?
The accuracy of AI model predictions
The speed at which AI models process information
A field of research aimed at making it possible for humans to understand how AI models make decisions
The ability to translate AI responses into different languages
You’re building a chatbot that needs to look up current weather data. What feature would help Claude access this real-time information?
Higher temperature settings
Streaming responses
Tool use to call weather APIs
Longer system prompts
You have an 800-page financial report and want to ask an AI specific questions about it. What does RAG help you do?
Create a summary of the entire document
Send only the relevant sections to the AI for each question
Translate the document into simpler language
Make the document shorter by deleting pages
Claude wants to use multiple tools in a single response. What feature allows this?
Temperature control
Batch tool use
System prompts
Streaming responses
In MCP architecture, what are the three main components?
Client, Server, and Database
Host, Client, and Server
Input, Process, and Output
Request, Response, and Cache
What is Model Context Protocol (MCP)?
A method for training AI models
A standardized protocol that enables secure connections between AI applications and external data sources
A way to make AI models run faster
A security system for protecting AI models